**线程里面使用注解(线程里面spring使用注解无法注入值的解决办法)**
来源:互联网 发布:gta5渣电脑神优化20桢 编辑:程序博客网 时间:2024/06/08 01:06
今天在使用SSM框架(spring/springmvc/mybatis)进行开发时,自己也是第一次使用,所以遇到的问题也比较多啊·········
我今天是在一条线程里面使用注解时,发现一直报空指针异常,仔细看了一下发现使用注解时并没有注入值,所以才一直空指针异常·····
再仔细对比一下之前我自学时的代码,发现调用流程也没有错,搞了半天也没找出什么原因······
最后想了一下,我是启动服务器的时候,就启动这条线程监听端口了,关键就在这,我这个是线程,不是我之前熟悉的action!!!
最后才知道线程里面是不能直接注入bean的,好了,不说了,直接上代码
第一步:写好获取bean的工具类
import java.util.Locale;import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextAware;/** * 项目名称: * 类名: SpringContextUtil * 描述: 获取bean的工具类,可用于在线程里面获取bean * 创建人: awsm * 创建时间: Dec 17, 2015 10:46:44 PM * 修改人:awsm * 修改时间:Dec 17, 2015 10:46:44 PM * 修改备注: * 版本:1.0 */public class SpringContextUtil implements ApplicationContextAware { private static ApplicationContext context = null; /* (non Javadoc) * @Title: setApplicationContext * @Description: spring获取bean工具类 * @param applicationContext * @throws BeansException * @see org.springframework.context.ApplicationContextAware#setApplicationContext(org.springframework.context.ApplicationContext) */ @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { this.context = applicationContext; } public static <T> T getBean(String beanName){ return (T) context.getBean(beanName); } public static String getMessage(String key){ return context.getMessage(key, null, Locale.getDefault()); }}
第二步:在spring的配置文件里面注册这个工具类,我的是在spring-mybatis.xml,即spring和mybatis的整合配置文件中。
<!-- 注册Spring工具类 --> <bean id="springContextUtil" class="com.kgzt.idcqzt.pub.SpringContextUtil"></bean>
第三步:在线程里面获取bean
/* * 在线程中是不能直接从容器中获取bean的, * 需要另写一个工具类来获取 * */ KeepAliveService keepAliveService = SpringContextUtil.getBean("keepAliveService");
第三步就是写在线程里面的,是不是可以获取到bean啦····
代码是参考前辈的大牛的,感谢大牛的付出!!!
1 0
- **线程里面使用注解(线程里面spring使用注解无法注入值的解决办法)**
- 线程里面使用注解---线程里使用注解的正确姿势
- Spring里面常用的注解
- 使用Spring配置shiro时,自定义Realm中属性无法使用注解注入解决办法
- 使用Spring配置shiro时,自定义Realm中属性无法使用注解注入解决办法
- 使用Spring注解注入属性
- spring 使用注解注入bean
- Spring使用注解依赖注入
- 使用spring注解注入属性
- springMVC在普通类里面使用注解的类
- Spring boot 使用注解方式无法新建一个后台线程问题
- Spring--IoC--域属性的注入-使用spring注解
- spring注解的使用
- Spring注解的使用
- spring注解的使用
- Spring注解的使用
- spring注解的使用
- 在线程里面使用SetTimer定时器
- java截取字符串,截串,substring和split,分割字母和数字,正则缝隙
- 介绍一下Python科学计算常用的工具、库、发行版
- Codeforces Round #313 (Div. 2) 560D Equivalent Strings(dos)
- Git入门---一般使用
- 什么是maven
- **线程里面使用注解(线程里面spring使用注解无法注入值的解决办法)**
- 双向链表
- 【leetcode题解】【再看一遍】【86】【M】Contains Duplicate III
- 二叉树Q
- 用树莓派制作智能小车
- 第十三周项目1-Prim算法的验证
- <LeetCode OJ> 67. Add Binary
- Android APK文件签名机制
- 数据结构(1)—— 排序算法汇总