SpringAnnotation
@Autowired
自动注入
@Component
表明该类会作为组件类,并告知spring为这个类创建bean
**name:**即bean的name
@ComponentScan
启用组件扫描,所以只需要再某个文件里配置一次即可
base-package(s):(default)扫描那个包中的bean
**basePackageClass:**类或接口所在的包将被扫描
@Configuration
proxyBeanMethods: = false/true bean之间是否有依赖,没有的会快速装载
**true:**保证每个bean都是单实例的
**false:**new 的时候会生成新bean
@PathVariable
/{id} @PathVariable("id") 占位符功能
@RequestParam
表明需要那个参数且请求参数在url中
@Import
@PostConstruct
java原生注解
在该类投入生产之前完场的方法
@Order
spring加载bean的优先级(顺序)
@Lazy
@Lazy注解注解的作用主要是减少springIOC容器启动的加载时间
当出现循环依赖时,也可以添加@Lazy
其实在SpringBoot 2.6.0之后Spring官方已经不建议循环依赖了,出现循环依赖还是最好从编码层面做解耦比较好。
如果项目比较复杂,解耦不易的话,可以采用 @Lazy的方式解决一部分循环依赖的问题。但是要注意 @Lazy会使用代理,用代理有用代理的坑,比如CGLIB代理模式下不能直接访问属性、final和private的方法不能代理等。
Last updated