一 .概述
在前面,我们的配置属性都放在了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); }
我们发现不使用默认的配置文件也能自动的引入其中的属性去.
三 [email protected]
该注解是帮助我们引入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的注入.
原文地址:https://www.cnblogs.com/trekxu/p/9457385.html
时间: 2024-10-01 02:22:25