spring boot初体验之将配置文件中的属性和bean关联起来
程序员文章站
2022-05-02 11:41:01
...
最近开始学习spring boot,动力十足,刚创建了个项目准备按照教程一步步走下去,然而遇到问题了。。。
spring boot的基于properties的类型安全配置中,通过@ConfigurationProperties(prefix="book")(该book为配置文件中属性前缀)将配置文件中属性和一个Bean关联起来,从而实现类型安全的配置。
下面是application.properties中的属性
book.name=spring boot
book.type=technology book
下面是创建的bean
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix="book")
public class Book {
private String bookName;
private String bookType;
public String getBookName() {
return bookName;
}
public void setBookName(String bookName) {
this.bookName = bookName;
}
public String getBookType() {
return bookType;
}
public void setBookType(String bookType) {
this.bookType = bookType;
}
}
运行代码,结果输出到页面中的book.name=null!!!这是哪里出现了问题呢。。。哦,是配置文件到bean的过程出现了问题,那就是bean中属性要和配置文件中的属性名对应起来,所以改了bean代码如下:
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix="book")
public class Book {
private String name;
private String type;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}
运行无误了!!!所以大家要注意了呀