有一次需要使用RedisTemplate,通过@Autowired方式注入,使用的时候一致报空指针,后来发现该对象由于业务关系时new 来的,无法获取spring容器对象

使用工具类

@Component
public class SpringUtils implements ApplicationContextAware {private static ApplicationContext applicationContext = null;@Overridepublic void setApplicationContext(ApplicationContext applicationContext) throws BeansException {SpringUtils.applicationContext = applicationContext;}public static <T> T getBean(Class<T> cla) {return applicationContext.getBean(cla);}public static <T> T getBean(String name, Class<T> cal) {return applicationContext.getBean(name, cal);}public static String getProperty(String key) {return applicationContext.getBean(Environment.class).getProperty(key);}
}

## 在你需要使用某个对象,而不能通过注入的方式从spring容器中获取时候,就可以使用一下方案
比如我使用 spring的 RedisTemplate,但是这个类是通过new 对象创建的,那就可以用一下方法从spring容器中获取```RedisUtil redisUtil = SpringUtils.getBean(RedisUtil.class);

new 创建的对象,通过注入方式获取RedisTemplate,报空指针异常相关推荐

  1. 【Spring 工厂】反转控制与依赖注入、Spring工厂创建复杂对象3种方式

    反转控制与依赖注入 反转控制 与 依赖注入 反转控制(IOC Inverse of Control) 依赖注入 (Dependency Injection - DI) Spring工厂创建复杂对象(3 ...

  2. 静态代理和依赖注入方式获取网店管家查询仓库信息接口

    请求的URL地址http://localhost/tp5.1/public/index.php/index/wdgj/wdgjwarehouselistGet?page=1&pageSize= ...

  3. JavaScript实现创建自定义对象的常用方式总结

    2019独角兽企业重金招聘Python工程师标准>>> 1. 对象字面量方式 对象字面量方式是创建自定义对象的首选模式,简单方便. var per = { name:'zhangsa ...

  4. spring中依赖注入方式总结

    文章来源于今日头条用户:分布式系统架构 一.注解注入 注解注入在Spring中是用的最多的一种方式,就是在java代码中使用注解的方式进行装配,在代码中加入@Resource或者@Autowired. ...

  5. Spring Bean四种注入方式(Springboot环境)

    阅读此文建议参考本人写的Spring常用注解:https://blog.csdn.net/21aspnet/article/details/104042826 给容器中注册组件的四种方法:  1.@C ...

  6. (包教包会)使用网络爬虫的方式获取国内376个城市的每日天气情况,并实现自动给自己发邮件

    主要功能 选择全国376个城市为样本,使用网络爬虫的方式从"天气网"(http://www.weather.com.cn)快速获取当日的天气情况,并实现自动化给自己邮箱发送统计结果 ...

  7. spring boot整合Quartz 在Job类中注入其他对象报空指针异常java.lang.NullPointerException at com.sxt.quartz.QuartzDemo.e

    情况在Job 类中注入RedisTemplate 报空指针异常 原因:我们使用JobDetailFactoryBean 帮我们创建对象 实际上调用的是AdaptableJobFactory 下的这个方 ...

  8. JDBC 创建连接对象的三种方式 、 properties文件的建立、编辑和信息获取

    创建连接对象的三种方式 //第一种方式Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/m ...

  9. 【Spring 基础注解】对象创建相关注解、注入相关注解、注解扫描详解

    Spring 基础注解(2.x) 注解基础概念 注解的作用 Spring 注解的发展历程 对象创建相关注解 @Component @Repository.@Service.@Contoller @Sc ...

最新文章

  1. 如何快速实现物联网行业中的实名认证
  2. python --异常处理
  3. python好用-Pyzo -- 好用的 Python 轻量级 IDE
  4. 自考护理学计算机考试时间,护理学专业2019年10月江苏自考科目及考试时间安排...
  5. Spring注解之@validated的使用
  6. Oracle中使用Table()函数解决For循环中不写成 in (l_idlist)形式的问题
  7. Swift--字符串和字符(二)
  8. 接收并解析消息体传参、解析 json 参数
  9. sqlserver 没有维护计划_制定数据库备份计划,不再为数据丢失闹心!
  10. zabbix监控某个进程个数时产生的issue
  11. phpstorm连接不上MySQL_PHPStorm无法连接到本地MySQL [重复]
  12. 百度富文本编辑器的宽度自适应
  13. 2022 DSCTF首届数字空间安全攻防大赛 部分题解
  14. 51单片机自学笔记引脚
  15. Apache Tomcat 历史版本下载地址 官网地址
  16. vue中watch进行ajax,vue watch自动检测数据变化实时渲染的方法
  17. 高德地图python爬虫 商家_Python3 | 通过百度地图API获取商家详细信息
  18. Ping++ 牵手招商银行,正式为商户开放一网通支付渠道
  19. Chrome 开发者工具新功能-网络面板新增载荷(Payload)边栏
  20. windows下的网络配置

热门文章

  1. 大智慧新一代公式编辑语法大全
  2. SAP中生产成本收集器控制级别变更实例
  3. 网关——Kong学习
  4. android 视频通话开启呼叫等待后,来第三方的视频通话,接通后通话时间一直显示为0,过几秒之后视频通话自动挂断
  5. 甲骨文全球裁员:“断臂求生”,拼云计算
  6. 知道这5个隐藏资源网站的人非常少,难怪总是找不到资源!
  7. excel下拉速度太慢_excel表格很卡怎么办?:excel数据表格下拉卡顿
  8. 超级搜索 v1.0.1(附带 插件开发模板)
  9. Linux 中 exit 的意思
  10. 昨夜今天Tech圈:郭明錤预计苹果明年推两款5G iPhone 平井一夫正式退休