Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 注入bean以在整个应用程序的控制器中使用_Spring_Servlets_Dependency Injection_Controller - Fatal编程技术网

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

Spring 注入bean以在整个应用程序的控制器中使用,spring,servlets,dependency-injection,controller,Spring,Servlets,Dependency Injection,Controller,我使用的是SpringMVC3.1.x和jets3t。 我有一个DataAccessObject,我将其实例化为单例bean 通过扩展applicationcontextloader类并将其添加到web.xml中,我成功地使其工作 编辑: 我改变了我的方法,我尝试了注射和自动连线,但它不适合我的需要。 我所做的是实现ApplicationContextAware并将其设置为bean,在代码中我使用它如下: ApplicationContext ctx=BannerApplicationConte

我使用的是SpringMVC3.1.x和jets3t。 我有一个DataAccessObject,我将其实例化为单例bean

通过扩展applicationcontextloader类并将其添加到web.xml中,我成功地使其工作

编辑:

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

ApplicationContext ctx=BannerApplicationContext.getApplicationContext();
BannerGenericDAO bdao=(BannerGenericDAO)ctx.getBean(“dao”);
我对Spring和servlet世界都是新手。。 问题是:

  • 最好的方法是什么?这是否被视为“最佳实践”
  • 如何注入一个对象,保留自动关联未提供的其他方法字段
  • 如何在整个应用程序中使用对象

  • 谢谢

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

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

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

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

    @Controller
    public class MyController{
    
      @Autowired  // or @Inject, which is more JEEish (JSR330).
      private SomeDao daoService;
    
    }
    
    当然,“SomeDao”是您的单例DAO的类型