应用程序 Bean 的配置外置
在 Controller 中收集配置
application.properties 文件
新增配置:
amazon.associateId=Jueee
ReadingListController 类
一、新增属性注入:
@ConfigurationProperties(prefix="amazon")
public class ReadingListController {
private String associateId;
}
二、新增 associateId 的 setter 方法
public void setAssociateId(String associateId) {
this.associateId = associateId;
}
三、将 associateId 放入模型
model.addAttribute("amazonID", associateId);
readingList.html
新增展示:
<span th:text="${amazonID}">amazonID</span>
在一个类里收集属性
AmazonProperties 类
与其在 ReadingListController 类 里加载配置属性,还不如创建一个单独的Bean AmazonProperties 类 。
为它加上@ConfigurationProperties
注解,让这个Bean收集所有配置属性。
ReadingListController 类
有了加载 amazon.associateId 配置属性的 AmazonProperties 后,我们可以调整 ReadingListController。
private AmazonProperties amazonProperties;
// 注入 AmazonProperties
@Autowired
public ReadingListController(ReadingListRepository readingListRepository, AmazonProperties amazonProperties) {
this.readingListRepository = readingListRepository;
this.amazonProperties = amazonProperties;
}
// 向模型中添加 Associate ID
model.addAttribute("amazonID", amazonProperties.getAssociateId());