![](/img/trans.png)
[英]How do I inject a value from Properties file to a field of an existing instance (not managed by Spring) using Spring annotations?
[英]Spring: how to inject field with annotations
我有類繼承 JFrame。
public class MainFrame extends JFrame {
public void init() {
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
setSize(new Dimension(600, 400));
setVisible(true);
setState(Frame.NORMAL);
show();
}
}
這個 bean 的 Spring 配置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="mainFrame" class="todo.ui.MainFrame" init-method="init">
</bean>
</beans>
JFrame 類具有私有字段標題。 從 xml 配置設置的標題
<bean id="mainFrame" class="todo.ui.MainFrame" init-method="init">
<property name="title">
<value>My To Do List</value>
</property>
</bean>
如何用注解注入私有字段?
您必須使用 @Value 注釋:
public class MainFrame extends JFrame {
@Value("my title")
private String title;
或者如果該值是某個動態變量,那么您可以使用:
@Value("#{beanA.title}")
private String title;
更新
如果您必須設置為父級,則:
@Value("my title")
@Override
public void setTitle(String title){
super.setTitle(title);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.