一.Springboot自动配置原理
配置原理->知道自己需要配什么
框架帮我们配的(通过一系列注解 诸如:@Configuration , @Bean,@ConditionalOnClass等等):
创建对象
默认配置属性(例如端口号)
特点:
1.xxxxxAutoConfiguration,xxxxxProperties等都是框架帮你配置的
2.自动配置类中的默认配置使用xxx.properties指定 而这个properties当中的属性名 就是我们可以配置的内容
3.如果你不配置 springBoot用默认配置 如果你配置了 springboot就用你的配置
二.日志配置(控制台格式配置、文件路径配置。。)
1.日志入盘(两种方式)
2.修改日志格式(一种是改变控制台格式,另一种是yml)(写到properties里如果用yml自行改变格式)
logging.pattern.console=%d{yyyy-MM-dd} [%thread] %-5level %logger{50} - %msg%n logging.pattern.file=%d{yyyy-MM-dd} === [%thread] === %-5level === %logger{50} ==== %msg%n ##带颜色的配置 logging.pattern.console=%clr(%d{yyyy-MM-dd}=== [%thread] === %-5level === %logger{50} ==== %msg%n)
三.mybatis、druid集成
1.新建sb工程
2.加三个依赖 Start druid 数据库驱动
<!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.2</version> </dependency> <!-- https://mvnrepository.com/artifact/com.alibaba/druid-spring-boot-starter --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.22</version> </dependency> <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
3.数据库依赖配置(yml格式有需要自己改成Properties格式)
spring: datasource: username: root password: root url: jdbc:mysql://localhost:3306/boot?serverTimezone=Asia/Shanghai driver-class-name: com.mysql.cj.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource
4.mapper配置,用mybatis-plus generator生成
生成完并拷贝后的项目结构(springboot的xml要放到resouces下面)
5.事务启用
6.一些基础注解代码自行补充
7.驼峰命名配置,解决诸如事件显示不出来的问题
8.配置文件
spring: datasource: username: root password: 123456 url: jdbc:mysql://localhost:3306/ssm?serverTimezone=Asia/Shanghai driver-class-name: com.mysql.cj.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource mybatis: mapper-locations: classpath:*/mapper/*.xml
9.效果
4.springboottest集成
方式一:
import com.javasm.springmybatis.SpringMybatisApplication; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; /** * @Author:Dilraba * @Version:1.0 * @Date:2021/11/8-11:15 * @Since:jdk1.8 * @Description: */ @SpringBootTest(classes = SpringMybatisApplication.class) public class BootTest { @Test public void fun(){ System.out.println("11111111111111====111111111"); } }
方式二:
package com.javasm.springmybatis; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest //1.需要和SpringMybatisApplication入口类同包同目录 //2.命名是 SpringMybatisApplication 入类的名称+Tests = SpringMybatisApplicationTests class SpringMybatisApplicationTests { @Test void contextLoads() { System.out.println("ssssssss"); } }