Spring-如何调试以查找Spring自动装配或请求参数的特定用途?

时间:2019-06-27 14:43:13

标签: spring

Spring正在自动连接请求参数-我们将其称为“ bob”。

我不知道它在哪里以及如何执行此操作,因此无法调试它。哪种弹簧特定的代码(使用intellij,因此我至少可以设置一个条件)将适合查找请求参数的自动装配发生的位置,以便我可以确定系统在做什么?

1 个答案:

答案 0 :(得分:1)

我认为我理解了这个问题,所以我将尽力回答。

您面临着在管理实例还是让Spring管理实例之间做出选择的难题。如果让Spring管理依赖项注入,则经常会遇到希望对bean lifecycle进行更好控制的情况。

  

默认情况下,Spring bean是“单子”,这意味着只有一个   该对象的实例将被创建,并且每个需要的类   该对象的依赖项注入将接收相同的实例。

构建bean生命周期的第一步是构建它。您可以设置一个断点,以使用@PostConstruct注释的任何方法来捕捉这一时刻。 article描述了在bean初始化时需要运行一些代码的需求,以及如何通过此批注解决它。例如:

public class AnyBean {

    @PostConstruct
    public void init(){
        // any code or breakpoints inserted here will
        // be run whenever an instance of this bean is created.
        // if a singleton bean, only one instance is created and, 
        // only one @PostConstruct will be called.


        // If a bean is a prototype bean, a new instance will be created
        // for every dependency injection, and hence one @PostConstruct 
        // will be called for each.
    }
}