我刚刚开始学习Spring框架,并且对Spring如何将一个bean自动连接到另一个没有setter方法的bean的私有变量感到好奇。例如,我有一个DependentBean,它依赖于DependedBean ...

@Component
public class DependentBean {
    @Autowired
    private DependedBean dependedBean; //this class has no "setDependedBean" setter method..
}


对于DependedBean ...

@Component
public class DependedBean{
     ...
}


当Spring Boot应用程序启动时,即使DependentBean对象没有用于设置其DependedBean属性的设置方法,它也可以设置DependentBean的dependedBean。春天是怎么做到的?我只是好奇...

最佳答案

在Java中,您可以使用反射来访问Class的私有字段。有关如何完成操作的更多详细信息,请参见this Stack Overflow question

10-08 01:57