Spring -servlet.xml bean访问

时间:2013-04-18 12:08:30

标签: spring spring-mvc

在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,并在带有后缀-servlet的xml文件中创建bean,而且我没有ClassPathXmlApplicationContext。

如果没有getBeans方法,如何从控制器访问我的java bean来处理对象? (同时考虑到这种方法 - 在任何启动教程中Spring的首要特征 - 是一种不好的做法)。

3 个答案:

答案 0 :(得分:1)

Spring依赖注入(构造函数注入 可以使用Setter Injection)。

private WildAnimal wild;


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

在Xml中

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

您可以使用

 @Autowired

Annotations