什么是spring boot
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
使用spring boot有什么好处
其实就是简单、快速、方便!平时如果我们需要搭建一个spring web项目的时候需要怎么做呢?
1)配置web.xml,加载spring和spring mvc
2)配置数据库连接、配置spring事务
3)配置加载配置文件的读取,开启注解
4)配置日志文件
…
配置完成之后部署tomcat 调试
…
现在非常流行微服务,如果我这个项目仅仅只是需要发送一个邮件,如果我的项目仅仅是生产一个积分;我都需要这样折腾一遍!
但是如果使用spring boot呢?
很简单,我仅仅只需要非常少的几个配置就可以迅速方便的搭建起来一套web项目或者是构建一个微服务!
SpringBoot环境搭建
1. 创建Maven工程,在其pom文件中导入父依赖工程
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.2</version>
<relativePath/>
</parent>
2. 基于整合Web开发和MyBatis导入相应依赖
<dependencies>
<!--web启动器-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Springboot整合MyBatis启动器 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<!-- 分页启动器 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.12</version>
</dependency>
<!--驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
<!-- 阿里连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.21</version>
</dependency>
<!-- 测试框架 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!-- SpringBoot 测试框架-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
3. 提供启动类
@SpringBootApplication // 表明该类为SpringBoot程序启动类
@MapperScan("com.project.dao") // 扫描指定目录下的映射文件
public class MainServer {
public static void main(String[] args) {
SpringApplication.run(MainServer.class,args);
}
}
4. 提供配置文件,放在resources目录下,有两种配置文件写法
1. application.properties
server.port=8000
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/bootdemo?characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.maxActive=50
spring.datasource.maxWait=2000
spring.datasource.minIdle=10
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
mybatis.type-aliases-package=com.project.bean
pagehelper.helperDialect=mysql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql
2. application.yml(推荐)
server:
port: 8080
spring:
datasource:
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/bootdemo?characterEncoding=utf-8
username: root
password: root
type: com.alibaba.druid.pool.DruidDataSource
maxActive: 50
maxWait: 2000
minIdle: 10
mybatis:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
type-aliases-package: com.project.bean
pagehelper:
helperDialect: mysql
reasonable: true
supportMethodsArguments: true
params: count=countSql
5. 根据需求拟定业务接口及业务方法
public interface IUserService {
void addUser(User userBean);
PageInfo<User> cut(int pageNO, int pageSize, String userName);
}
6. 根据业务方法分析出的数据库操作,给出持久层接口及持久方法
void addUser(User userBean);
List<User> cut(String userName);
7. 实现持久接口后,完成业务层实现类的实现并完成测试
@RunWith(SpringRunner.class)
@SpringBootTest(classes = MainServer.class)
public class TestService {
@Resource
private IUserService userService;
@Test
public void testAll(){
}
}
8. 根据需求给出应用控制器,提供控制方法。
PS:静态资源文件搜索顺序:
/META-INF/resources —> /resources —> /static —> /public
假如:此时在/static目录下有index.html,访问该页面http://localhost:8080/index.html
总结
使用spring boot可以非常方便、快速搭建项目,使我们不用关心框架之间的兼容性,适用版本等各种问题,我们想使用任何东西,仅仅添加一个配置就可以,所以使用sping boot非常适合构建微服务。