Java 使用Spring分配域类的数据成员
可能吗 下面是一个更详细的案例:Java 使用Spring分配域类的数据成员,java,spring,spring-mvc,Java,Spring,Spring Mvc,可能吗 下面是一个更详细的案例: class A { private service x; //other members //some more methods. } bean定义可用于服务,但我不希望类A是Springbean,也不希望x是静态的 这是可以实现的 编辑: 我的spring配置: <bean id="Service" class="com.xx.yy.Service" /> <--!I do not register class A
class A {
private service x;
//other members
//some more methods.
}
bean定义可用于服务,但我不希望类A是Springbean,也不希望x是静态的
这是可以实现的
编辑:
我的spring配置:
<bean id="Service" class="com.xx.yy.Service" />
<--!I do not register class A as a bean. Hence cannot use @autowired directly.-->
我认为您应该为类A的实例创建工厂,它应该负责设置x
@Service
class FactoryA {
@Autowired service x;
public A create() {
return new A(x);
}
}
它只能通过从上下文手动获取bean来实现
Service service = context.getBean(Service.class);
A a = new A(service);
你希望A级的服务由spring管理吗?@DarshanLila是的。但不是全班。我有一个用于服务的bean,但我只想初始化这个类中的数据成员。如果您不告诉spring您的类a是一个使用注释或XML的bean,spring将不会管理它们。@Athanor我没有要求spring管理它们。我只需要一种方法来分配一个由spring管理的数据成员。签出@Autowired with component Scan与此类似:不可能。但它甚至符合工厂模式吗?我不需要在运行时做出决定,当然需要。看看DDD的构建块: