1、Spring Boot
从字面理解,Boot是引导的意思,因此SpringBoot帮助开发者快速搭建Spring框架;
SpringBoot是一个微框架,一种全新的编程规范,他的产生简化了框架的使用,所谓简化是指简化了Spring众多框架中所需的大量且繁琐的配置文件,所以 SpringBoot是一个服务于框架的框架,服务范围是简化配置文件。
2、Spring Boot的特点
(1)快速开发spring应用的框架
(2)一般引入启动器即可
(3)基于注解的零配置思想
(4) 整合各种框架
3、核心注解
@SpringBootApplication:
申明让spring boot自动给程序进行必要的配置,这个配置等同于:@Configuration ,@EnableAutoConfiguration 和 @ComponentScan 三个配置。
@ComponentScan:
让spring Boot扫描到Configuration类。
@Configuration:
等同于spring的XML配置文件;使用Java代码可以检查类型安全。
@EnableAutoConfiguration:
自动配置。
@Bean:
用@Bean标注方法等价于XML中配置的bean。
@ConfigurationProperties
是springboot提供读取配置文件的一个注解。
4、整合Mybatis
项目结构
4-1 pom文件
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
4-2 数据库
4-3 application.yml 与application-dev.xml
application.yml
spring:
profiles:
active: dev
# 在Spring Boot中多环境配置文件名需要满足application-{profile}.yml的格式,其中{profile}对应你的环境标识,比如:
# application-dev.yml:开发环境
# application-test.yml:测试环境
# application-prod.yml:生产环境
# 至于哪个具体的配置文件会被加载,需要在application.yml文件中通过spring.profiles.active属性来设置,其值对应{profile}值。
application-dev.xml
spring:
datasource:
username: root
password: root
url: jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
driver-class-name: com.mysql.cj.jdbc.Driver
mvc:
view:
prefix:
mybatis:
# mapper-locations: classpath:mapping/*Mapper.xml #路径名称要与UserMapper.xml一样
type-aliases-package: com.example.demo.entity #路径名称要与User类一样
#showSql
logging:
level:
com:
example:
mapper : debug
4-4 entity ----User类
public class User {
private Integer id;
private String userName;
private String passWord;
private String realName;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
public String getRealName() {
return realName;
}
public void setRealName(String realName) {
this.realName = realName;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", userName='" + userName + '\'' +
", passWord='" + passWord + '\'' +
", realName='" + realName + '\'' +
'}';
}
}
4---5 mapper - -Usermapper类
@Mapper
//@Repository
public interface UserMapper {
@Select(" select * from test where id = #{id}")
User getUser(int id);
}
4--6 service -- UserService类
@Service
public class UserService {
@Autowired
UserMapper userMapper; // 此时会报错 是因为spring并不识别@mapper类 但无关
public User getUser(int id){
return userMapper.getUser(id);
}
}
4--7 Controller --- UserController类
@RestController
@RequestMapping("testBoot")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("getUser/{id}")
public String getUser(@PathVariable int id){
return userService.getUser(id).toString();
}
}
4---8引导类
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
System.out.println("success");
}
}
访问