之前我们的文章 java boot将一组yml配置信息装配在一个对象中
 讲过了 通过ConfigurationProperties将配置文件中的内容默认装配进属性类
但 这建立在 bean是自己定义的 如果 这是个第三方的类呢?
 就比如 我们在 application 中写了一套数据源的加载规则 但需要用第三方的bean加载 该怎么做呢?
下面 我来定义一个第三方bean试试
 大家用任何第三方工具类都可以
 这里 我用 druid 会简单一些
 先注入依赖
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.16</version>
</dependency>
然后我们找一个类 引入DruidDataSource
import com.alibaba.druid.pool.DruidDataSource;
然后我们这样 输出一下
DruidDataSource ds = new DruidDataSource();
System.out.println(ds);
它里面输出了一定的内容
 
 其实 给其他第三方类赋值 我们直接用里面的set方法 和我们自己写的都是一样的
 
 这里 我们将代码改成这样
DruidDataSource ds = new DruidDataSource();
ds.setDriverClassName("java.kou");
System.out.println(ds.getDriverClassName());
这里 我们先set改了里面的 DriverClassName
 然后 get输出
 也是没有任何问题
 
 因为我们现在不用自己创建的这个对象连数据库 所以 你把这个对象怎么改都是OK的
那么 知道了 可以用第三方类的set改属性 明白了这个 就简单很多了
我们在application 中定义一下这个DriverClassName属性
 
 然后 我们在测试类中这样写
package com.example.webdom;
import com.alibaba.druid.pool.DruidDataSource;
import com.example.webdom.controller.BookController;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.Bean;
@SpringBootApplication
public class WebDomApplication {
    public static void main(String[] args) {
        ConfigurableApplicationContext ctx = SpringApplication.run(WebDomApplication.class);
        DruidDataSource ds = ctx.getBean(DruidDataSource.class);
        System.out.println(ds.getDriverClassName());
        //SpringApplication.run(WebDomApplication.class, args);
    }
    @Bean
    @ConfigurationProperties("textdata")
    public DruidDataSource getDruidDataSource() {
        DruidDataSource ds = new DruidDataSource();
        return ds;
    }
}
这里 我们定义 getDruidDataSource 函数 用bean注解 返回一个DruidDataSource 的bean对象
 然后通过ConfigurationProperties 指定 注入textdata属性给bean
 然后 输出 getDriverClassName
运行结果如下
 
 可以看到 和我们写在配置文件中的内容是一模一样的



















