一.Spring Boot是什么,有什么作用,怎么用?
1.Spring Boot是一个便捷搭建 基于spring工程的脚手架;
2.作用是帮助开发人员快速搭建大型的spring 项目。简化工程的配置,依赖管理;实现开发人员把时间都集中在业务开发上;
3.添加依赖(启动器依赖,spring-boot-starter-web,默认8080),创建启动类
二.自动配置原理
1.在 META-INF\spring.fatories
文件中定义了很多自动配置类;可以根据在pom.xml文件中添加的 启动器依赖自动配置组件
2.通过如下流程可以去修改application配置文件,改变自动配置的组件默认参数
三.yml配置文件
jdbc:
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/springboot
username: root
password: root
#\u6FC0\u6D3B\u914D\u7F6E\u6587\u4EF6;\u9700\u8981\u6307\u5B9A\u5176\u5B83\u7684\u914D\u7F6E\u6587\u4EF6\u540D\u79F0
spring:
profiles:
active: abc,def
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/springboot_test
username: root
password: root
redis:
host: localhost
port: 6379
#tomcat端口
server:
port: 80
#日志记录级别
logging:
level:
com.itheima: debug
org.springframework: info
mybatis:
# 实体类别名包路径
type-aliases-package: com.itheima.pojo
# 映射文件路径
# mapper-locations: classpath:mappers/*.xml
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
四.Spring Boot整合-SpringMVC端口和静态资源
1.修改项目tomcat端口:
#修改tomcat端口8080为80
server:
port: 80
2.在spring boot项目中静态资源可以放置在如下目录:
五.Spring Boot整合-SpringMVC拦截器
可以在spring boot项目中通过配置类添加各种组件;如果要添加拦截器的话:
package com.itheima.config;
import com.itheima.interceptor.MyInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class MvcConfig implements WebMvcConfigurer {
//注册拦截器
@Bean
public MyInterceptor myInterceptor(){
return new MyInterceptor();
}
//添加拦截器到spring mvc拦截器链
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(myInterceptor()).addPathPatterns("/*");
}
}
六.Spring Boot整合-事务和连接池
1.事务配置;只需要添加jdbc启动器依赖,然后再类上添加@Transactional注解
2.数据库连接池使用默认的hikari,在配置文件中配置如下:
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/springboot_test
username: root
password: root
七.Spring Boot整合-Mybatis
1.添加mybatis官方对于spring boot的一个启动器
<!--mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.1</version>
</dependency>
2.配置mybatis
mybatis:
# 实体类别名包路径
type-aliases-package: com.itheima.pojo
# 映射文件路径
# mapper-locations: classpath:mappers/*.xml
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
3.设置启动器类中的mapper扫描
/**
* spring boot工程都有一个启动引导类,这是工程的入口类
* 并在引导类上添加@SpringBootApplication
*/
@SpringBootApplication
// 扫描mybatis所有的业务mapper接口,**{tk.mybatis.spring.annotation}
@MapperScan("com.itheima.mapper")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
八.Spring Boot整合-通用Mapper
通用Mapper:可以实现自动拼接sql语句;所有的mapper都不需要编写任何方法也就是不用编写sql语句。可以提高开发效率。
- 添加启动器依赖;
- 改造UserMapper继承Mapper;
- 修改启动引导类Application中的Mapper扫描注解; {tk.mybatis.spring.annotation}
- 修改User实体类添加jpa注解;
- 改造UserService实现业务功能;
九.Spring Boot项目部署
1.添加打包组件
<build>
<plugins>
<!-- 打jar包时如果不配置该插件,打出来的jar包没有清单文件 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
2.可以使用maven的package
3.找到打包的文件位置,执行命令:java -jar 包名.