006 引入外部配置文件

一 .概述

  在前面,我们的配置属性都放在了springboot为我们提供了默认配置文件之中.有的时候,我们可能需要将这些配置信息分散到不同的地方,尤其是那些我们自定的属性.

  springboot为我们提供了另外的两个注解,帮助我们实现外部配置文件的注入.


二 . @PropertySource注解

  该注解的核心作用就是加载指定的配置文件.

看下面的例子:

  我们创建了一个trek.properties的文件,其中的内容为:

  user.name=trek
  user.age=123.

我们编写配置类进行测试:  

@Configuration
@PropertySource(value = { "classpath:trek.properties" })
@Data
public class PropertyConfig {

    @Value("${user.name}")
    private String name;

    @Value("${user.age}")
    private Integer age;

    @Bean
    public Map<String, String> map(){
        Map<String, String> map = new HashMap<String, String>();
        map.put("name", name);
        map.put("age", String.valueOf(age));
        return map;
    }
}
    @Autowired
    private Map<String,String> map;
    
    @Test
    public void test2() {
        System.out.println(map);
    }

我们发现不使用默认的配置文件也能自动的引入其中的属性去.


三 .@ImportResource 

  该注解是帮助我们引入spring的配置文件.

请看下面的例子:

  我们创建了一个spring的配置文件,然后我们引入这个配置文件.

    <bean id="name" class="java.lang.String">
        <constructor-arg value="resource"></constructor-arg>
    </bean>
@ImportResource(value= {"classpath:spring.xml"})
@Configuration
public class ImportResourceConfig {

}
    @Autowired
    private String name;
    
    @Test
    public void test3() {
        System.out.println(name);
    }

其实,我们一般不会去使用这个配置文件的,我们一般使用@Bean来完成bean的注入.

猜你喜欢

转载自www.cnblogs.com/trekxu/p/9457385.html
006