Filter里面注入Service方法
来源:互联网 发布:淘宝韩国直邮鉴别真假 编辑:程序博客网 时间:2024/05/29 02:08
今天博客第一天,就只写一个昨天我解决的一个问题吧。如题述。
假如你是一位javaweb开发人员,Filter这个词是不陌生的,废话不多说,我就说我的问题和解决方法。
问题:我建立一个全局拦截器,当然,这是测试的时候建立的,我把它命名为RequestFilter,它继承了Filter,web应用启动的顺序是:listener->filter->servlet,而因为项目应用了spring mvc,所以我们会有两个配置文件(applixationContext.xml和springMVC-sevlet.xml),我们在配置spring时会用到spring的listener,它会读取application.xml里的配置对spring context进行初始化;项目启动时,先初始化listener,因此配置在applicationContext.xml里的bean会被初始化和注入;然后再来就filter的初始化,再接着才到我们的dispathServlet的初始化,因此,当我们需要在filter里注入一个注解的bean时,就会注入失败,因为filter初始化时,注解的bean还没初始化,没法注入。
那么,解决方法如下:
在web.xml中配置一个 拦截器 代码如下:
<filter>
<filter-name>DelegatingFilterProxy</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
<init-param>
<param-name>targetBeanName</param-name>
<param-value>RequestFilter</param-value>
</init-param>
<init-param>
<param-name>targetFilterLifecycle</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>DelegatingFilterProxy</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
然后在applicationContext.xml中配置一下代码:
<bean id="RequestFilter" class="com.xxx.xxx.RequestFilter">//这个是你的拦截器名字和它说在的包名+类名//这个是你在RequestFilter拦截器里面用UserSwerviceImpl定义的变量名字
<property name="userLogServiceImpl">
<ref bean="userLogServiceImpl"></ref>
</property>
</bean>
<bean id="userLogServiceImpl" class="com.xxxxx.xxxxxxxxx.impl.UserLogServiceImpl">
</bean>
然后在RequestFilter里面添加如代码:
private UserLogServiceImpl userLogServiceImpl;
public void setUserLogServiceImpl(UserLogServiceImpl userLogServiceImpl) { this.userLogServiceImpl = userLogServiceImpl;}public UserLogServiceImpl getUserLogServiceImpl() { return userLogServiceImpl;}这样你就可以在RequestFilter里面添加@service下的bean了。
技术在于分享,希望能帮助到你!!
0 0
- Filter里面注入Service方法
- listener或者filter注入service
- 在Filter中注入Service
- filter注入service报空指针
- spring如何把service注入listener或者filter?
- 在Java Filter 中注入 Service方案一
- 如何在Java的Filter中注入Service???
- Service里面的onStartCommand()方法详解
- bindService调用Service里面方法的步骤
- spring 工具类注入Service方法
- 静态工具类注入service的方法
- Android Service生命周期 Service里面的onStartCommand()方法详解
- Android Service生命周期 Service里面的onStartCommand()方法详解
- Android Service生命周期 Service里面的onStartCommand()方法详解
- Android Service生命周期 Service里面的onStartCommand()方法详解
- Java Filter过滤xss注入非法参数的方法
- Java Filter过滤xss注入非法参数的方法
- service里面的onstart()方法和onStartCommand()方法的区别
- 全文检索之中文分词
- 578C. Weakness and Poorness(Codeforces Round #320)
- 证书、描述文件、App ID的解释
- iOS疯狂讲解之复杂对象的归档与反归档
- 欢迎使用CSDN-markdown编辑器
- Filter里面注入Service方法
- Remove Duplicates from Sorted List
- leetcode笔记:Remove Nth Node From End of List
- 网易互联网2015 在线笔试(2)
- andriod之自定义适配器与ListView的优化:
- studio删除无用的文件资源
- .net 的js选择方法
- 关于openssh连接时的尝试
- Object_C的setter、getter方法实现