SpringBoot开启后获取实例化Bean的参数

406 阅读1分钟

问题

1.配置后的Beean不知道是否配置成功

2.配置的Bean是否有污染

3.具有-start(mybatis,mybatis-start)配置与自定义配置的混配

解决:

1.采用测试类Junit-start

@SpringBootTest(classes = CsdzApplication.class)
public class demo2 {

    @Autowired
    private DruidDataSource dataSource;

    @Test
    public void getLearn(){
        System.out.println(dataSource.getActiveCount());
    }
}

通过Debug进行调试

2.配置详解

(1)带-start标识

像mybatis-start,这种可以用yml中的配置文件直接配置,会直接加载到springboot中.

(2)不带-start标识

必须在Configuration进行配置

(3)有-start标识但仍想要个性化配置的场景(数据源) 当配置Configuration时候,自动化配置失效

3.配置注入详解

(1)将配置文件中的内容注入到类中 使用@value

@Value("${person.last‐name}")

@ConfigurationProperties(prefix = "person")

(2)类上面写前缀

@ConfigurationProperties(prefix = "jdbc") 

public class JdbcProperties {}

(3)方法上写前缀

@ConfigurationProperties(prefix = "jdbc")
    public DataSource dataSource() {
        DruidDataSource dataSource = new DruidDataSource();
        return dataSource;
    }

会自动的注入到返回对象中去 但是要保证,返回的对象中有这样的set方法,不然也是无效的. 其实这种属性的输入就是将这些有注解的对象进行了set方法.