Spring -servlet.xml beans access



在Spring中,我通常使用getBean()方法访问bean。如:

AplicationContext.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www... etc">
       <bean id="MyClass" class="ioc.beans.MyClass" /> 
</beans>
java:

ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
MyClass cl = applicationContext.getBean("MyClass", MyClass.class);

现在我正在使用Spring MVC和bean在后缀-servlet的xml文件中创建,并且我没有ClassPathXmlApplicationContext。

我如何能访问我的java bean从我的控制器工作与对象,如果没有getBeans方法?(同时考虑到这种方法——Spring在任何入门教程中的首要特性——是一种不好的做法)。

如果您在web应用程序中使用Spring,那么没有真正的理由以编程方式获取bean。

你应该使用显式的构造函数/setter注入或自动装配。在第一种情况下,所有spring管理的bean都应该在XML(或者JavaConfig,如果使用的话)中定义。在第二种情况下,要自动连接的类应该在XML/JavaConfig中声明,或者应该在组件扫描路径上。

Spring依赖注入(构造函数注入

private WildAnimal wild;

@Autowired
  public void setWild(WildAnimal wild) {
    this.wild = wild;
  }

在Xml

<bean id="wild" class="com.javapapers.spring.ioc.Wolf" />

你可以使用

 @Autowired
注释

最新更新