【问题标题】:Field with @Autowired annotation in a class with @Component annotation带有@Component 注释的类中带有@Autowired 注释的字段
【发布时间】:2019-09-16 22:26:22
【问题描述】:

带有@Autowired 注解的字段

  • 如果字段在带有注解@Controller 的类中,它就可以工作

  • 但如果该字段在带有注解@Component 的类中则不起作用

¿有人能告诉我如何将带有@Autowired 注释的字段放在具有@Component 注释的类中吗?

感谢和问候

在 Modelo1Controller 类中

@Controller
public class Modelo1Controller {    

    @Autowired  
    private SelectUtil selectUtil;

selectUtil 字段有值并且可以正常工作

但在 Modelo 类中

@Component
public class Modelo extends BeanCommon implements Serializable {

    @Autowired  
    private SelectUtil selectUtil;

当我尝试使用 selectUtil 字段时,值为 null,我得到 NullPointerException

字符串文本 = selectUtil.getDescriptcionBienText(value);

java.lang.NullPointerException: null

还有 SelectUtil 类

@Component
public class SelectUtil {

【问题讨论】:

  • 这不应该发生。您能否显示一些代码并添加更多详细信息,请参阅stackoverflow.com/help/mcve
  • 如果你看@Controller注解实现,它也被@Component注解,所以如果你用@Controller注解你的类,它也是一个组件。您的代码一定有问题,所以请与我们分享,以便我们提供帮助。
  • 不,应该可以,请提供更多代码。

标签: spring spring-mvc


【解决方案1】:

我的应用程序终于成功了

主要问题是我使用 new 运算符在另一个代码块中实例化对象

我每天都在学习新的 Spring 概念

无论如何,谢谢,也许问题和解决方案可以被更多人在相同情况下使用

【讨论】:

    猜你喜欢
    • 2016-07-19
    • 2016-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多