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的构建块: