关闭

在servlet中用spring @Autowire 注入.

476人阅读 评论(0) 收藏 举报
分类:
今天在改版以前老应用程序的时候,发现很多系统是直接用servlet做的,当初也用到了 spring, 所以自然想到也用 spring 的 @autowire 注入 来引入 service 层, 但发现如果直接用,有时候成功,有时候报错,失败。貌似就是不稳定,一直搞不清楚原因, 后来在网上找到了一个简单的方法. 这个简单的方法也是  spring 提供的,解决方法如下:
public class MyServlet extends HttpServlet {
  @Autowired
  private MyService myService;
  public void init(ServletConfig config) {
    super.init(config);
    SpringBeanAutowiringSupport.processInjectionBasedOnServletContext(this,
      config.getServletContext());
  }
}


这样,就不会出现时而成功,时而失败了。 当然也许有人会说,还有其他方法,的确,至少还可以通过 webapplication 让后用 getBean 的方式来拿到 bean , 然后在使用.比如:
    public void init(ServletConfig config) throws ServletException {
        super.init(config);
        ServletContext servletContext = this.getServletContext();
        WebApplicationContext wac = null;
        wac = WebApplicationContextUtils
                .getRequiredWebApplicationContext(servletContext);
        this.setUserServiceService((UserServiceService) wac
                .getBean("userServiceService"));// Spring 配置 中的 bean id
    }


这种方式也是一样的,但没有第一种方法优雅.
0
0
查看评论

autowire异常的三个情况

Java代码   2010-3-11 16:06:00 net.sf.ehcache.config.ConfigurationFactory parseConfiguration   警告: No...
  • zheng0518
  • zheng0518
  • 2014-07-11 17:00
  • 29867

Spring之利用autowire属性进行自动装配

spring的自动属性装配,其实就是说,对于bean的属性,不用使用手工显示装配,可以让spring自己通过在xml文件中按照一定的规则查找相关的符合条件的bean,装配为bean的属性。 这样说起来有点绕口,直接上代码。 首先,写一个辅助类。 package com.cmm;...
  • u012585142
  • u012585142
  • 2017-05-03 22:16
  • 181

spring-autowire、集合等各种参数注入

spring-autowire、集合等各种参数注入 本文参考书《轻量级javaee实战》 说明:autowire中的byName和byType分别代表通过名字和通过类型进行装配。 byName需要类中有对应的setter方法,例如Parent中有对应的setChild();那么就会装配...
  • wild46cat
  • wild46cat
  • 2016-07-13 11:59
  • 684

Spring如何实现自动依赖注入-------autowire

y 【问题描述】当我们在使用Spring的IOC功能的时候,Spring提供了集中注入方式:属性注入,构造函数注入和工厂方法注入,我们更多的时候是使用的属性注入,即set方法注入。使用set方法注入要求我们在写bean的配置文件的时候,需要我们手动设置properties。诸如: ...
  • lan861698789
  • lan861698789
  • 2014-10-15 08:43
  • 4240

spring @Autowire 注入失败总结

总结了下网上的一些经验,最后是我自己的经验
  • wartih
  • wartih
  • 2016-12-01 10:48
  • 1309

Spring自动装配注入合作者Bean ——autowire

spring能自动装配Bean和Bean之间的依赖关系,即无需使用ref显示指定依赖Bean。由BeanFactory检查Xml配置文件内容,根据某种规则,为主调Bean注入依赖关系。 自动装配可以减少配置文件的工作量,但降低了依赖关系的透明性和清晰性。 转  Spring@Autow...
  • u014470581
  • u014470581
  • 2016-03-11 12:35
  • 815

在servlet中注入spring容器中的bean

在使用spring容器的web应用中,业务对象间的依赖关系都可以用context.xml文件来配置,并且由spring容器来负责依赖对象 的创建。如果要在servlet中使用spring容器管理业务对象,通常需要使用WebApplicationContextUtils.getRequire...
  • indexchen
  • indexchen
  • 2006-09-28 14:30
  • 14949

Spring使用@PostConstruct注解完成子类注入父类私有变量

原博在此:http://www.cnblogs.com/walson/p/3897661.html 讲了三个使用注解在子类中替换父类私有变量的方法,其中@PostConstruct方法有误。 注解使用方式应为如下: 父类: public class BaseServiceImpl { pri...
  • wxzhangxin
  • wxzhangxin
  • 2017-08-10 09:11
  • 393

如何使用spring的autowire为servlet注入bean

在应用中一般普通的JavaPojo都是由Spring来管理的,所以使用autowire注解来进行注入不会产生问题,但是有两个东西是例外的,一个是 Filter,一个是Servlet,这两样东西都是由Servlet容器来维护管理的,所以如果想和其他的Bean一样使用Autowire来注入的 话,是需要...
  • yaerfeng
  • yaerfeng
  • 2012-03-19 13:34
  • 7104

spring依赖注入(3)-autowire

自动装配,官方给出的定义是这样: Spring IoC容器可以自动装配(autowire)相互协作bean之间的关联关系。因此,如果可能的话,可以自 动让Spring通过检查BeanFactory中的内容,来替我们指定bean的协作者(其他被依赖的bean)。由于 autowi...
  • dsw12521
  • dsw12521
  • 2015-05-09 10:25
  • 483
    个人资料
    • 访问:423944次
    • 积分:6393
    • 等级:
    • 排名:第4513名
    • 原创:180篇
    • 转载:322篇
    • 译文:0篇
    • 评论:33条
    学习交流
    java资源分享群:222379715
    文章分类
    最新评论