【问题标题】:How to inject the Log dependency to a non Mojo class instance?如何将 Log 依赖注入到非 Mojo 类实例中?
【发布时间】:2021-10-26 05:50:18
【问题描述】:

有没有办法将Log 依赖注入到非 Mojo 类实例中?在 Mojo 类中,只要我们想记录某些内容,我们只需调用 getLog(),但在服务类的情况下会发生什么?

下面这样的东西不起作用。

@Singleton
public class AServiceClass implements ServiceInterface {

    @Inject
    private Log log;
    ...
}

解决这个问题的一个简单方法是在我们调用它时将日志对象从 Mojo 类传递给服务方法,但我不想这样做。

【问题讨论】:

标签: java maven maven-3 maven-plugin


【解决方案1】:

所以,感谢maven-checkstyle-plugin,我能够找到解决方案。

当你想访问记录器时,你需要扩展AbstractLogEnabled

@Singleton
public class AServiceClass extends AbstractLogEnabled implements ServiceInterface {

    public void method(){
        // getLogger() gives you access to the logger
        getLogger().info(...)
    }
}

【讨论】:

    猜你喜欢
    • 2016-11-29
    • 2018-09-28
    • 2020-10-13
    • 2018-12-07
    • 2015-08-05
    • 1970-01-01
    • 2012-02-26
    • 2023-04-02
    • 1970-01-01
    相关资源
    最近更新 更多