【发布时间】:2015-03-07 17:32:30
【问题描述】:
我刚刚阅读了有关外部配置的文档,发现我可以使用以下方法轻松访问 application.properties:
@Component
public class MyBean {
@Value("${name}")
private String name;
// ...
}
但我想为类添加属性,它不是 Spring 组件(我使用 new 对其进行初始化)。
我想在这里应用它:
public class PageWrapper<T> {
private int maxButtonQuantity = **I want to put here the property from file**;
private Page<T> page;
private List<PageItem> buttons;
private int currentNumber;
private String url;
...
}
PageWrapper 不是 Spring Bean 类 - 它不是在 Spring 容器中“浮动”的。我在一些控制器中手动初始化它 - 使用 new 运算符
有什么方法可以简单地访问它,我不必使用容器?
【问题讨论】:
-
您能否详细解释一下您正在添加的属性,当您说您使用 new 进行初始化时不清楚。您可以显示描述该属性的代码。
-
@faljbour - 我添加了解释
-
您可能希望在构造函数中将他的属性传递给 PageWrapper 类,或者在其中添加一个 set 方法。获取控制器类中的值,然后将其传递给 PageWrapper
-
不错的解决方案。谢谢你:)。
-
@faljbour 你应该把这个写成答案
标签: java spring properties spring-boot