![](/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.