1、SpringBoot整合maven项目中,我们在pom.xml文件中引入对应star,比如redis的star等等
2、通过main方法下的一个@SpringBootApplication注解(这个注解是个组合注解)扫描meta-inf/spring.factory文件里面的配置的全类名的各种autoconf类;这个核心就是spi机制,通过spi进行扫描
package com.cmj;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import com.cmj.service.StudentService;
@SpringBootApplication
public class CmjApplication {
public static void main(String[] args) {
SpringApplication.run(CmjApplication.class, args);
}
}
@SpringBootApplication注解(这个注解是个组合注解)
3、spring.factory文件中有对应所有全类名的各种autoconf类,各种autoconf都有一个判断注解;这个判断注解的话,进行加载时会进行先判断。如果有对应类时,才会进行装配bean,如果没有就不会进行装配,避免在一开始就装配一大堆的东西,导致内存占过大
① 提供各个配置文件的全类名
②各个配置文件中,通过判断注解进行判断是否需要进行配置
③当你的pom.xml文件中引入比如redis-starter之后,这个条件注解就成立了,就帮你去组装配置bean
如果说pom.xml中没有引入相关的star,则表示该条件不成立,则不会进行下方的bean组装配置