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); } }
Best Regards