最近用spring boot ,在controller外面即自定义的类里报错

java.lang.NullPointerException

debug了下发现@Resource注入为null

查了不少资料也没解决问题,最后终于找到一种解决办法,为了以后查找方便特意记录下来

@Component
public class SaveStructures {
private static SaveStructures structures;
@Resource
private ApiFilesService filesService;
@Resource
private ApiAssetsMapper assetsMapper; public SaveStructures() {
} //通过@PostConstruct实现初始化bean之前进行的操作
@PostConstruct
public void init() {
// 初使化时将已静态化的Service实例化
structures = this;
} ……
……
structures.assetsMapper.batchAddAssets(list);
……
structures.filesService.findByCondition(condition); }

注:

  注入类的调用方法

    structures.filesService.findByCondition(condition);

说明:

  被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器调用一次,类似于Serclet的inti()方法。

  被@PostConstruct修饰的方法会在构造函数之后,init()方法之前运行

springboot自定义类@Resource注入为null的问题的更多相关文章

  1. Spring_关于@Resource注入为null解决办法

    初学spring,我在dao层初始化c3p0的时候,使用@Resource注解新建对象是发现注入为null,告诉我 java.lang.NullPointerException. @Repositor ...

  2. 源码分析springboot自定义jackson序列化,默认null值个性化处理返回值

    最近项目要实现一种需求,对于后端返回给前端的json格式的一种规范,不允许缺少字段和字段值都为null,所以琢磨了一下如何进行将springboot的Jackson序列化自定义一下,先看看如何实现,再 ...

  3. @Resource注入为null

    UserController中userService为null只有一个原因, 那就是你所使用的UserController对象没有被IoC容器所管理,你使用的对象是自己new出来的, 而不由sprin ...

  4. Springboot 工具类静态注入

    用springboot搭了一个项目,里面要用到一个DictUtils,因为要用到DictMapper,在百度找了一些方法,最后用下面的方法能成功获取到DictMapper @Component pub ...

  5. 关于工具类中@Autowired注入为NULL的问题记录

      记录:在实体类中加入@Component注解和@Autowired注解时Service不能注入成功. @Component //把普通pojo实例化到spring容器中 0 public clas ...

  6. java-普通类文件@Autowired自动注入为null

    @Autowired注解在非Controller中注入为null 1.配置文件(类文件所在的包) <context:component-scan base-package="net.n ...

  7. 于工具类中@Autowired注入为NULL的问题记录

      记录:在实体类中加入@Component注解和@Autowired注解时Service不能注入成功. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ...

  8. springboot管理类,springboot注入类

    springboot管理类,springboot注入类 定义一个配置类,添加@Configuration注解,EvaluatorTemplate代表你需要注入的第三方类 @Configuration ...

  9. 在Springmvc普通类@Autowired注入request为null解决方法

    在Springmvc普通类@Autowired注入request为null解决方法   在类中加入以下注入request对象的代码,运行时发现request为null,注入失败.在@Controlle ...

随机推荐

  1. 20180516模拟赛T2——string

    题解 对于一个字符串A,我们只能把其首字符取出,故如果我们想让A串与B串相等,能重复利用的部分只能是A串结尾与B串开头相等的部分.对于取出的字符,我们可以把'o'放在一个容器中,把'x'放在另一个容器 ...

  2. TestNg用例管理

    一.TestNg的数据驱动 1. 数据驱动 1)什么是数据驱动? ·数据驱动是指在一个脚本固定的情况下,用数据来控制该脚本是否运行,以及运行的次数,还有每次运行时对应的参数 2)数据驱动的应用场景: ...

  3. What is Babel?---JSX and React

    Babel is a JavaScript compiler Babel is a toolchain that is mainly used to convert ECMAScript 2015+ ...

  4. vim文本编辑器——文件导入、命令查找、导入命令执行结果、自定义快捷键、ab命令、快捷键的保存

    1.文件的导入(r): 导入前: 导入后: 在光标处,将tmp目录下的zhbb文件的内容导入到了当前文件. 2.命令的查找: 3.导入命令的执行结果: 光标所在行为导入的位置. 4.自定义快捷键: ( ...

  5. MySQL 8.0 以上版本重置 root 用户密码的终极办法

    1. 在 /etc/my.cnf 文件末尾追加 skip-grant-tables [root@abdefg mysql]# vim /etc/my.cnf [mysql] # 设置mysql客户端默 ...

  6. JavaScript 箭头函数

    ES6新标准增加了一种新的函数,箭头函数. x=>x*x 相当于: function (x){ return x*x; } 如果参数不是一个,就需要用括号()括起来: // 两个参数:var t ...

  7. go语言Mac下编译安装语言包

    这两天公司成立了go语言学习兴趣小组,慕名参与了学习.目前对于go是0基础,只知道它可以做高并发.效率快.编译简单.母语是C. go的安装有多种形式,编译安装是比较慢的一个,今天我就记录一下学习go编 ...

  8. <每日 1 OJ> -Table

    上图是一个Mysql查询结果图,我们看到这个表格非常漂亮,只需要使用”+”和”-”两个符号就可以打印,现在你的任务是打印一个n×m的表格我们定义单位长度(水平方向有三个”-”,竖直方向有一个”| ”, ...

  9. kafka(五) 流式处理 kafka stream

    参考文档: http://www.infoq.com/cn/articles/kafka-analysis-part-7?utm_source=infoq&utm_campaign=user_ ...

  10. 灵活的MyBatis

    一.前言 将数据存储到数据库是开发中很重要的一环.曾经有程序员说自己做过最牛逼的事情就是增删改查.确实我们做了很多页面,后太代码写了很多,可是最终都离不开数据库的增删改查.Java有一套自己的JPA标 ...