new出来的对象中无法使用@autowired进行对象bean注入问题
new出来的对象无法使用@autowired进行对象bean注入
在我new的类使用了@autowired注入,但是测试发现并没有注入进来,对象是空的
比如下面,User实体中需要调用别的实体的mapper进行查询
这里使用 @PostConstruct注解来解决:
新建一个静态的对象,然后使用@PostConstruct来初始化,因为我是本类使用,所以使用了private,如果想外部类使用,就可以改为public
new创建对象,成员对象使用@autowired注入为null
使用new创建的对象,该对象中@Autowired注入的成员对象为null。
所以如果一个类中有spring容器注入的对象,则不能使用new来创建对象,必须使用必须@Autowired、@Resource来创建该对象。
也就是说要把该对象也交给spring容器来管理。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
SpringBoot解决同名类导致的bean名冲突bean name conflicts问题
这篇文章主要介绍了SpringBoot解决同名类导致的bean名冲突bean name conflicts问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-06-06分析java并发中的wait notify notifyAll
一个线程修改一个对象的值,而另一个线程则感知到了变化,然后进行相应的操作,这就是wait()、notify()和notifyAll()方法的本质。本文将详细来介绍它们概念实现以及区别2021-06-06SpringBoot使用MockMvc进行Web集成测试的示例详解
MockMvc 是一个测试框架,可以模拟 HTTP 请求和响应,在本文中,我们将介绍如何使用MockMvc进行Web集成测试,以及如何编写测试用例来测试Spring MVC控制器,希望对大家有所帮助2023-06-06SpringBoot+MybatisPlus+Mysql+Sharding-JDBC分库分表
本文主要介绍了SpringBoot+MybatisPlus+Mysql+Sharding-JDBC分库分表,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2022-03-03
最新评论