spring - Spring - 如何调试以找到spring的自动装配或请求参数的具体用途?
问题描述
Spring 在请求参数中自动装配 - 我们称其为“bob”。
我不知道它在哪里或如何做到这一点,所以我无法调试它。什么 spring 特定代码(使用 intellij,所以我至少可以设置一个条件)适合查找请求参数的自动连接发生的位置,这样我就可以弄清楚系统在做什么?
解决方案
我想我理解了这个问题,所以我会尽力回答它。
您面临着在管理实例或让 Spring 管理它们之间做出选择的两难选择。如果您让 Spring 管理依赖注入,您经常会遇到希望对 bean生命周期进行更精细控制的情况。
默认情况下,Spring bean 是“单例”,这意味着只会创建该对象的一个实例,并且每个需要对该对象进行依赖注入的类都将收到相同的实例。
bean 生命周期的第一步是它的构造。你可以设置一个断点来捕捉任何用@PostConstruct
. 本文描述了在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.
}
}
推荐阅读
- javascript - 在 div 之间切换:如何一次只显示一个 div?
- json - 尝试从空 JSON 元素解析 Map 时如何避免错误
- ruby-on-rails - 如何创建表名为整数的模型?
- java - 避免微服务之间过多的数据重复
- java - IntelliJ 可以从 Gradle 导入非标准源目录吗?
- javascript - lodash/fp 转换未按预期工作
- azure - Cosmos 文档查询以查找每种类型的最新记录
- javascript - 如何将输入值绑定到 Vue.js 中方法的返回输出?
- javascript - DataTables:遍历所有行并从每行的特定单元格中获取值
- html - HTML img 拒绝低于特定宽度