【问题标题】:Injecting a bean to use in Controllers throughout the application在整个应用程序中注入一个 bean 以在控制器中使用
【发布时间】:2012-07-28 15:45:25
【问题描述】:

我正在使用 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. 如何让一个对象在整个应用程序中使用?

谢谢!!

【问题讨论】:

    标签: spring servlets dependency-injection controller


    【解决方案1】:

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

    @Controller
    public class MyController{
    
      @Autowired  // or @Inject, which is more JEEish (JSR330).
      private SomeDao daoService;
    
    }
    

    当然,鉴于“SomeDao”是您的单例 DAO 的类型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-18
      • 1970-01-01
      • 1970-01-01
      • 2016-01-18
      • 2021-11-14
      • 2015-12-10
      相关资源
      最近更新 更多