首页 > 解决方案 > Springboot依赖注入在休眠实体中失败

问题描述

我想出了一个奇怪的问题,我必须在我尝试过的实体类中注入 Spring Managed 依赖项,但是依赖项是null,我做错了什么无法弄清楚。

我有一个标记为组件的实用程序类的依赖项,我可以从控制器和服务类访问它,但不是在实体中我是否缺少一些我不知道的 jar,因为它是 spring-boot?这是代码:

@Table
@Entity
@DiscriminatorValue("3")
@Component
public class LoginBot extends Bot implements Serializable {
    private static final long serialVersionUID = 1L;
    public LoginBot() {}

    @Autowired
    SelUtil util;

    @Override
    public Map<String, Object> test() {
        Map<String, Object> returnMap=new HashMap<>();
        util.selectBrowserAndPlatform(this);
        return returnMap;
    }
}

标签: javahibernatespring-bootdependency-injectionspring-data-jpa

解决方案


AFAIK spring 不会对实体类进行后处理,因此它不会自动装配任何东西,实体不是 spring 上下文 bean,并且将一些 util 类放入实体 bean 是一种非常糟糕的做法。如果你真的需要使用一些实用程序,也许只是在其中添加静态方法?


推荐阅读