繁体   English   中英

Spring:如何用注解注入字段

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM