在SpringBoot中,我们可以通过配置文件对JavaBean对象进行注入
start
首先在我们编写的Bean类上添加@CofigurationProperty
注解来表面它和配置文件相绑定,又因为这个注解是容器中的组件才具有的功能,所以需要先加入容器中@Component
@Component
@ConfigurationProperties(prefix = "person")
public class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
我们发现@CofigurationProperty
注解中有个属性prefix
,很明显这个是指定配置文件的对应bean对象的前缀。这里我们用person
.
我们还需要导入一个配置文件处理器,这样待会编写配置时就有提示了:
<!--导入配置文件处理器,配置文件进行绑定就会有提示-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
接下来看看配置文件,这里SpringBoot的总配置文件为例:
person.name=leslie
person.age=20
这样就我们就配置好了,现在我们的IOC容器中就有一个person
的对象了,然后运行程序就可以获取对象中的值
如果你不想在全局配置文件中配置,想自己搞一个配置文件专门来注入值,可以在Bean类上用@PropertySource
这个注解,里面有个属性用来指定文件的路径
@PropertySource("classpath:/config/bean.properties")
然后运行程序也可以得到注入值
以上是以.properties
为例,.yml
同样也适用