近期小编入坑了Springboot,并且一发入魂,发现曾经及其繁琐的SSM配置也变得极其简单化。这边文章主要是介绍了Springboot工程的搭建技巧,以及如何整合Mybatis的操作,最后还会使用热部署操作,方便我们的开发环境。
1、首先介绍如何使用IDEA搭建Springboot + Mybatis的工程环境。
首先New一个Project,找到Spring Initializr
然后我们只需要填写好项目的信息内容(注意这里小编创建工程的时候,工程名是需要小写的,否则无法创建,不知为啥o.0):
随后我们就可以选择我们想要带有的工程的内容了,比如这里我们想整合Mybatis,所以要勾选
【Sql - Mybatis】,然后想要创建的项目是一个Web工程(也就是想把SpringMVC也整合进来),就要勾选【Web - Spring Web】,随后便可以创建成功了。
整合Druid数据库连接池
首先需要在pom.xml中导入两个依赖,一个是数据库驱动的坐标依赖,一个是Druid的数据库连接池的坐标的依赖。
<!-- druid数据库连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
<!-- 数据库驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.28</version>
<!--
scope中的runtime的含义:
例如,在编译的时候我们不需要 JDBC API 的 jar 包,而在运行的时候我们才需要 JDBC 驱动包。
-->
<scope>runtime</scope>
</dependency>
随后我们需要配置application.properties的配置文件:
# 连接数据库
spring.datasource.url=jdbc:mysql:///test?useUnicode=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
mybatis.mapper-locations=classpath:com/ysw/dao/*.xml
# 修改端口号
server.port=8081
# 修改访问路径
server.servlet.context-path=/demo
项目的结构图如下所示:
在Controller层使用RESTFul风格进行编码:
@RestController
public class UserController {
@Autowired
private UserDao userDao;
@GetMapping("/getAll")
public List<User> test(){
List<User> users = userDao.findAll();
return users;
}
}
PS:一定要记得,在RESTFel风格的接口中,@RestController
的意思是该类中的所有方法都将不用写@ResponseBody
注解,因为@RestController
类中的所有方法都默认了有一个@ResponseBody
注解。
一定要注意,如果在Dao层使用了@@Repository
注解的话,一定要在引导类中使用@MapperScan(basePackages = "com.ysw.dao")
这个扫描包的注解,否则我们定义的mapper文件是无法被识别并创建一个bean对象放入SpringIoC容器中的
引导类(就是在类名顶部有一个@SpringBootApplication
注解的类)的代码如下:
package com.ysw;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
@SpringBootApplication
@MapperScan(basePackages = "com.ysw.dao")
public class SpringbootMybatisApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootMybatisApplication.class, args);
}
}
最后,运行我们的入门Demo,运行结果如下图所示:
Springboot的热部署操作:
首先要修改IDEA的配置:
最后一定要记得在pom.xml中导入支持热部署的坐标依赖即可:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>