SpringBoot(6)自动配置 - Condition
1. Condition 概述
Condition 是在 Spring4.0 增加的条件判断功能,通过这个功能可以实现选择性的创建 Bean 操作。
2. 测试创建 Bean 对象
2.1 创建新模块
直接使用 Spring Initializer 创建,起步依赖只使用 lombok,命名为 springboot-condition。
2.2 引入 Redis 依赖
在 pom.xml
文件中添加 Redis 的起步依赖。
<!--Redis 依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2.3 修改主类
修改 SpringbootConditionApplication
类的代码如下:
package com.xuxumiao;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
@SpringBootApplication
public class SpingbootConditionApplication {
public static void main(String[] args) {
//启动 SpringBoot 应用,返回 Spring 的 IOC 容器
ConfigurableApplicationContext context = SpringApplication.run(SpingbootConditionApplication.class, args);
//获取 Bean,RedisTemplate
Object redisTemplate = context.getBean("redisTemplate");
System.out.println(redisTemplate);
}
}
2.4 运行
运行这个主类,控制台输出如下:
org.springframework.data.redis.core.RedisTemplate@608bc8f8
发现 Bean 对象已被成功创建
3. 测试 2.0
3.1 创建实体类
创建一个 domain
包,里面添加实体类 User
。
3.2 创建配置类
创建一个 config
包,里面添加实体类 UserConfig
,代码如下:
package com.xuxumiao.config;
import com.xuxumiao.domain.User;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* @author: xxm
* @Date: 2022/2/7 12:35
*/
@Configuration
public class UserConfig {
@Bean
public User user(){
return new User();
}
}
3.3 修改主类
将前一部分的代码注释掉,新增一段代码:
package com.xuxumiao;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import