先拿redis来举个例子
第一步导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
第二步配置
spring:
redis:
database:host:127.0.0.1
port:6379
第三步依赖注入使用到redis
@Autowiredprivate
RedisTemplate redisTemplate;
这个依赖配置主要是依靠三个注解实现的首先是@springbootApplication核心注解里面的注解,因为它里面有许多注解组合而成的。其中对于自动配置相关的有:
@SpringBootConfiguration:它是@Configuration的一个配置类
@ComponentScan:它会扫描如果你标准了@service等Bean注解。
@EnablgAutoConfiguration:它是启动Spring自动配置的功能点开之后可以看到以下的属性。
这其中最核心的注解是@AutoConfigurationPackage和@Import这两个注解
@AutoConfigurationPackage:它是将添加到该注解的类自动添加为自动管理,也就是会将启动类作为自动配置的管理。
@Import:使用于导入配置类到当前文件上下文里面。
在@AutoConfigurationPackage里面是继承了@DeferredImportSelector而,@DeferredImportSelector又继承了@ImportSelector,它实现了selectImports的接口方法,这个方法是用于去获取所有符合条件的类名,这些类会加载到IOC容器里面。
回到上面@EnablgAutoConfiguration里面
这里面的exclude和excludeName是告诉我们需要去排错某些类,不去做自动加载。