Spring Boot是Spring 全家桶非常重要的一个模块,通过 Spring Boot 可以快速搭建一个基于 Spring 的 Java 应用程序,Spring Boot 对常用的第三方库提供了配置方案,可以很好地和 Spring 进行整合,MyBatis、Spring Data JPA 等,可以一键式搭建功能完备的 Java 企业级应用。
Spring Boot 的优势
-
不需要任何 XML 配置文件。
-
内嵌 Web 服务器,可以直接启动。
-
默认支持 JSON 数据,不需要做额外配置。
-
支持 RESTful 风格
-
使用一个配置文件(非 XML、propertis、YAML)可以配置所有的个性化信息
Spring Boot 就是一个可以用很少的配置快速搭建 Spring 应用的框架,并且可以自动集成主流的 Java 技术栈。
Spring Boot有两种创建方式
-
在线创建工程
-
手动创建工程
这里演示一下在线创建
1、启动idea,点击Create New Project
2、选择Spring Initializr--Default: https://start.spring.io--next
3、输入Group、Artifact等--点击next
4、选择web--勾选Spring Web--点击next
5、选择路径--点击finish
6、OK,spring boot项目创建成功了,如果是第一次创建spring boot项目的话,需要等待一会,下载pom依赖
7、添加pom.xml依赖
<dependencies >
< dependency >
< groupId > org.springframework.boot</ groupId>
< artifactId > spring - boot - starter - web</ artifactId>
< / dependency >
< dependency >
< groupId > org.springframework.boot</ groupId>
< artifactId > spring - boot - starter - test</ artifactId>
< scope > test</ scope>
< exclusions >
< exclusion >
< groupId > org.junit.vintage</ groupId>
< artifactId > junit - vintage - engine</ artifactId>
< / exclusion >
< / exclusions >
< / dependency >
< !--mysql-- >
< dependency >
< groupId > mysql</ groupId>
< artifactId > mysql - connector - java</ artifactId>
< / dependency >
< !--数据库连接 池-- >
< dependency >
< groupId > com.alibaba</ groupId>
< artifactId > druid</ artifactId>
< version > 1.1 .14 < / version >
< / dependency >
< !--lombok-- >
< dependency >
< groupId > org.projectlombok</ groupId>
< artifactId > lombok</ artifactId>
< version > 1.18 .8 < / version >
< / dependency >
< !--mybaits-- >
< dependency >
< groupId > org.mybatis.spring.boot</ groupId>
< artifactId > mybatis - spring - boot - starter</ artifactId>
< version > 2.0 .0 < / version >
< / dependency >
< / dependencies>
8、配置application.properties文件
注意:Spring Boot支持 .properties / .yml两种格式的配置文件,如果两种都存在时,以第一种优先。这里我修改为了.yml后缀的(便于书写,建议使用此格式的)
为了演示例子,这里只做最简单配置
server:
port: 7777
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
username: root
password: root
url: jdbc:mysql://127.0.0.1:3306/sunjian2?&useSSL=false&serverTimezone=UTC
9、创建实体类
package com.sunjian.demo.entity;
import lombok.Data;
/**
* @author sunjian
* @date 2020/3/24 23:20
*/
@Data
public class Person {
private Integer id;
private String name;
private String age;
private String gender;
private String email;
private String city;
}
10、创建dao层接口
package com.sunjian.demo.dao;
import com.sunjian.demo.entity.Person;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
/**
* @author sunjian
* @date 2020/3/24 23:25
*/
@Mapper
public interface UserDao {
@Select( "select * from person where id = #{id}" )
Person findById( Integer id );
}
11、创建service层接口及实现类
package com.sunjian.demo.service;
import com.sunjian.demo.entity.Person;
/**
* @author sunjian
* @date 2020/3/24 23:29
*/
public interface PersonService {
public Person findById( Integer id );
}
package com.sunjian.demo.service.impl;
import com.sunjian.demo.dao.UserDao;
import com.sunjian.demo.entity.Person;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* @author sunjian
* @date 2020/3/24 23:30
*/
@Service
public class PersonServiceImpl {
@Autowired
private UserDao userDao;
public Person findById( Integer id )
{
return(userDao.findById( id ) );
}
}
12、创建controller视图层类
package com.sunjian.demo.controller;
import com.sunjian.demo.entity.Person;
import com.sunjian.demo.service.PersonService;
import com.sunjian.demo.service.impl.PersonServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author sunjian
* @date 2020/3/24 23:32
*/
@RestController
@RequestMapping("/person")
public class PersonController {
@Autowired
private PersonServiceImpl personServiceImpl;
@GetMapping("/findById/{id}")
public Person findById(@PathVariable("id") Integer id){
Person person = personServiceImpl.findById(id);
System.out.println(person);
return person;
}
}
13、启动项目(Spring Boot内置了Tomcat web服务器,直接运行DemoApplication启动类文件即可启动项目),访问
OK.
网友评论