在Spring管理下的类中使用new对象带来的问题


  • 问题:当一个类被 @Component 注解修饰,或者在 applicationContext 配置文件中使用了 <bean> 标签配置,将其交给 Spring 容器进行管理后,如果在该类的属性或方法中new了对象,这个类将不能再被其他类使用 @Autowired 自动注入,会报空指针异常。

  • 解决方法:虽然 Spring 管理下的类中依旧可以使用 new 的方式生成对象,但是不推荐这么做,这样做了之后,该类只能通过手动调用 ClassPathXmlApplicationContext 类的 getBean 方法获取实例对象。建议一个类中使用的所有对象应该事先在 Spring 配置文件中定义好, 或者使用注解的方式统一交给 Spring 容器进行管理,使用的时候直接使用 @Autowired 获取实例对象即可。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM