在整个应用程序中注入一个bean以在控制器中使用

时间:2012-07-30 22:23:26

标签: spring servlets dependency-injection controller

我正在使用spring mvc 3.1.x和jets3t。 我有一个DataAccessObject,我实例化为Singleton bean ..

我设法通过扩展applicationcontextloader类并将其添加到web.xml

来实现它

修改

我改变了方法,尝试注射和自动装配但是它不适合我的需要。 我所做的是实现ApplicationContextAware并将其设置为bean,在我使用它的代码中如下:

ApplicationContext ctx = BannerApplicationContext.getApplicationContext();
BannerGenericDAO bdao = (BannerGenericDAO) ctx.getBean("dao");

我是Spring的新手,一般来说是servlet世界。 问题是:

  1. 这样做的最佳方法是什么?这被认为是“最佳实践”吗?
  2. 如何注入对象,保留自动装配不提供的其他方法字段?
  3. 如何在整个应用程序中使用对象?
  4. 谢谢!

1 个答案:

答案 0 :(得分:1)

您可以在控制器中使用注释。

@Controller
public class MyController{

  @Autowired  // or @Inject, which is more JEEish (JSR330).
  private SomeDao daoService;

}

鉴于“SomeDao”是你的单身DAO的类型,当然。