Java 在Spring中的自初始化对象中使用bean的更好方法

Java 在Spring中的自初始化对象中使用bean的更好方法,java,spring,spring-mvc,dependency-injection,Java,Spring,Spring Mvc,Dependency Injection,我一直在研究Java和Spring(批处理、引导),有一个问题 我通过Spring创建了bean来生成服务类。我用@Autowired注释将其绑定如下: @Component public class MyTaskRunner { @Autowired private MyService myService; public void run() { List<SomeObject> someObjects = myService.getSomeObjects(

我一直在研究Java和Spring(批处理、引导),有一个问题

我通过Spring创建了bean来生成服务类。我用
@Autowired
注释将其绑定如下:

@Component
public class MyTaskRunner {

  @Autowired
  private MyService myService;

  public void run() {
    List<SomeObject> someObjects = myService.getSomeObjects();
    // Do some tasks
  }
}
@组件
公共类MyTaskRunner{
@自动连线
私人MyService-MyService;
公开募捐{
List someObjects=myService.getSomeObjects();
//做一些工作
}
}
这里,我还想在
SomeObject
中使用这样一个bean,它是从数据库反序列化的(意思是,不是从Spring)。我在这里寻找解决方案,并将尝试它们,但它们中的大多数似乎都很复杂,只是为了注入一粒豆子

我的问题是:bean的使用是否如此不同寻常,以至于需要做一些工作?


提前谢谢你!任何意见都将不胜感激。

请更具体地说明为什么要序列化需要访问服务的对象。通常最好使用Command对象并仅存储作业的配置,然后在执行作业时将其与其环境相结合。该对象是批处理的配置,将其序列化并保存到数据库中,并且类本身具有执行其批处理任务的方法。批处理任务需要访问数据库中的其他表,我想在那里使用服务bean或dao。我是否应该将这些信息添加到问题中?我找到了您对另一个问题的答案:我将阅读它,并尝试更深入地理解Spring。我建议使用类似Visitor模式的方法,其中execute方法被传递一个包含其依赖项的上下文对象。例如,请参见如何调用EL(如SpEL)。@chrylis,访问者模式正是我所需要的!非常感谢您提供这样一种方式,我将创建一个具有visit方法的组件,并在该组件中自动连接服务bean。