java - Spring 依赖注入(inject)到匿名实现中

标签 java spring dependency-injection

我有一个用于服务的抽象基类,其中包括各种方法的实现和一个抽象方法。我有一些密切相关的实体,我想在单个服务中管理它们,因此我计划让该服务由这些实体的抽象基础服务的匿名实现组成。我想将 Dao 实现注入(inject)到匿名服务实现中。我尝试做这样的事情。

@Configurable
@Service( value="compositeService" )
public class CompositeServiceImpl 
    extends BaseDataServiceAbstract<AnotherEntity, Long>
    implements CompositeService
{
    BaseDataServiceAbstract<MyObject, Long> myObjectService = 
        new BaseDataServiceAbstract<MyObject, Long>() {

        @Resource( name="myObjectDao")
        BaseDao<MyObject, Long> myObjectDao;

        @Override
        public BaseDao<MyObject, Long> getDao()
        {
            return myObjectDao;
        }
    };

    // other implementation methods and stuff
}

如果我这样做,Dao 就不会被注入(inject)。如果我将 dao 移出到包含类中,那么它就可以正常工作。我可以将其保留在包含类中,但想知道如何将其注入(inject)到匿名类实现中。

最佳答案

只要您自己调用 new,Spring 就不会实例化该类,因此无法注入(inject)依赖项。

由于您无法在不使用 new 自己调用默认构造函数的情况下创建匿名类,因此 Spring 无法在此为您提供帮助。

关于java - Spring 依赖注入(inject)到匿名实现中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4702797/

相关文章:

java - 在java中的类方法中访问对象数组

java - 用于文本输入/javafx 的矩形光标

java - Spring 集成 - 队列/轮询器似乎在没有任何操作的情况下耗尽线程池

java - Spring webflux 不使用 @ModelAttribute 从路径变量填充自定义对象

spring - 用于创建 Kafka Producer 的演示应用程序为 java.lang.InstantiationException : null 引发 "Failed to construct kafka producer"错误

java - 为什么在 JBoss 7.1.EAP 中运行应用程序时出现 java.lang.NoSuchMethodError

c# - 构造函数枚举参数的 StructureMap 配置

dependency-injection - ASP.NET 5 如何注入(inject)启动的依赖项?

dependency-injection - 在 IServiceProvider 上,GetRequiredService 和 GetService 方法有什么区别?

java - TouchScreen Nokia C5 -J2ME 的命令操作按钮和滚动在更改系统时间后不起作用