Spring向Servlet中注入实例
2016-03-29 09:30
369 查看
Spring向Servlet中注入实例
开发Http接口的过程中,发现在Servlet中,无论是用spring 的什么注解,都无法正常的向Servlet中注入实例,但是在方法中通过
ApplicationContext ctx=WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());
Ctx.getBean("");
的方式,是可以得到实例的,说明实例已经被spring IOC容器管理。
后来发现,是spring注解不支持在Servlet中注入,如果需要在servlet中注入实例,需要重写servlet的init()方法。
public void init() throws ServletException {
super.init();
ApplicationContext ctx=WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());
setServerRunDataService((ServerRunDataService)ctx.getBean(""));
}
其它的地方。可以按照普通的开发方式开发。
使用这种方式,在属性上是不需要再显示的写上@Resource, @Autowired等的。当然,写了,也不影响使用。
开发Http接口的过程中,发现在Servlet中,无论是用spring 的什么注解,都无法正常的向Servlet中注入实例,但是在方法中通过
ApplicationContext ctx=WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());
Ctx.getBean("");
的方式,是可以得到实例的,说明实例已经被spring IOC容器管理。
后来发现,是spring注解不支持在Servlet中注入,如果需要在servlet中注入实例,需要重写servlet的init()方法。
public void init() throws ServletException {
super.init();
ApplicationContext ctx=WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());
setServerRunDataService((ServerRunDataService)ctx.getBean(""));
}
其它的地方。可以按照普通的开发方式开发。
使用这种方式,在属性上是不需要再显示的写上@Resource, @Autowired等的。当然,写了,也不影响使用。
相关文章推荐
- Java调用数据库备份命令mysqldump
- java 求两个链表的公共结点
- Zookeeper昨天还可以启动今天提示: Cannot open channel to 1 at election address /192.168.253.130:3888 java.net.Co
- Java排序算法——插入排序
- java自定义filter
- Eclipse Maven插件clean 异常
- [Java] IO(一)
- 【算法】如何将一个文件分割成多份(C,Java语言实现)
- Eclipse背景颜色自定义设置:
- 设计模式之迭代器模式
- 【算法】计算一篇文章的单词数(C、Java语言实现)
- JAVA 异常类
- Java入门学习之 static
- Java异常处理和设计
- 深入剖析Java中的装箱和拆箱
- Java 如何有效地避免OOM:善于利用软引用和弱引用
- 浅谈Java中的hashcode方法
- Java常用排序算法
- 浅析Java中的访问权限控制
- 浅谈Java中的对象和引用