springboot学习笔记一springboot2.0介绍及第一个SpringBoot项目

springboot2.0新特性

编程语言:Java8+(必须使用Java8及以上的版本才可使用)、Kotlin(刚接触并不了解)

底层框架:Spring Framework 5.0.x(springboot2.0底层使用spring框架5.0以上版本)

全新特性:Web Flux(一种新型的编程模型,对SpringMVC的一个补充,有待学习)

WebFlux优势

1、函数式编程:Java8 Lambda,Kotlin

2、响应式编程:Reactive Streams

3、异步编程:Servlet3.1或Async NIO

SpringBoot开发前准备

1、安装Java8的jdk并配置环境变量

2、安装maven进行依赖管理,maven需配置settings文件的相关配置,

配置本地仓库:<localRepository>E:\Program Files\maven-repository</localRepository>

配置国内的镜像仓库(这里选择阿里云):

<mirror>  
       <id>alimaven</id>  
       <name>aliyun maven</name>  
       <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
       <mirrorOf>central</mirrorOf>          
 </mirror>

3、IDE的安装可以选择eclipse或者IDEA(这里选择IDEA)

安装好IDEA后可以通过修改其配置文件将IDEA的配置从默认存放的C盘放到其他路径下,步骤如下

打开IDEA的安装目录下的bin目录,找到idea.properties文件并打开修改如下图的配置

第一个SpringBoot项目

准备好开发环境后登陆https://start.spring.io/ 通过官网方式创建第一个SpringBoot的项目

根据个人要求修改箭头所指处的配置项,点击下载并导入IDEA

1、添加domain包并创建一个User实体类,有ID和name两个属性并实现get和set方法,同时重写toString方法

2、创建repository包并创建UserRepository类对User对象进行保存的操作:

@Repository
public class UserRepository {

    /**
     * 采用内存型存储方式=》Map,这里使用高并发的ConcurrentMap
     */
    private final ConcurrentMap<Integer, User> repository = new ConcurrentHashMap<>();

    private  static final AtomicInteger idGenerator = new AtomicInteger();

    public boolean save(User user) {
        Integer id = idGenerator.incrementAndGet();
        user.setId(id);
        return repository.put(id, user) == null;
    }
}

3、创建controller包并创建UserController控制器类,实现与前端的交互

@RestController
public class UserController {

    private final UserRepository repository;

    /**
     * 使用构造器注入的优势:注入属性不能修改; 可以提早的进行初始化
     * @param repository
     */
    @Autowired
    public UserController(UserRepository repository) {
        this.repository = repository;
    }

    @PostMapping("/person/save")
    public User save(@RequestParam String name) {
        User user = new User();
        user.setName(name);
        repository.save(user);
        return user;
    }
}

启动项目进行测试,发现使用WebFlux创建的项目运行状态为Netty进行运行而非Tomcat

使用postman进行测试模拟发送POST请求

猜你喜欢

转载自blog.csdn.net/wlove514/article/details/82557338