
正文
SpringBoot bean映射yml中的属性举例
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
pom:导入配置文件处理器,配置文件进行绑定就会有提示
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring‐boot‐configuration‐processor</artifactId>
<optional>true</optional>
</dependency>
yml:
user:
name: lisa
postcode: 610424199612112800
user.java方式一:使用@ConfigurationProperties注解实现批量对应属性值
package com.pecool.customer.entity; import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component; @Component
@ConfigurationProperties(prefix="user")
public class User { private String name;
private String postcode;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPostcode() {
return postcode;
}
public void setPostcode(String postcode) {
this.postcode = postcode;
}
@Override
public String toString() {
return "User [name=" + name + ", postcode=" + postcode + "]";
} }
user.java方式二:在属性上使用spring 的@Value注解也可以获取到yml或properties中的值
package com.pecool.customer.entity; import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component; @Component
//@ConfigurationProperties(prefix="user")
public class User { @Value("${user.name}")
private String name; @Value("${user.postcode}")
private String postcode;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPostcode() {
return postcode;
}
public void setPostcode(String postcode) {
this.postcode = postcode;
}
@Override
public String toString() {
return "User [name=" + name + ", postcode=" + postcode + "]";
} }
Test.java
package com.pecool; import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner; import com.pecool.customer.entity.User; @SpringBootTest
@RunWith(SpringRunner.class)
public class TestA { @Autowired
private User user; @Test
public void xxx(){
System.out.println(user);
} }







