@Lazy用于指定该Bean是否取消预初始化。主要用于修饰Spring Bean类,用于指定该Bean的预初始化行为,
使用该Annotation时可以指定一个boolean型的value属性,该属性决定是否要预初始化该Bean
- lazy代表延时加载,lazy=false,代表不延时,如果对象A中还有对象B的引用,会在A的xml映射文件中配置b的对象引用,多对一或一对多,不延时代表查询出对象A的时候,会把B对象也查询出来放到A对象的引用中,A对象中的B对象是有值的。
- lazy=true代表延时,查询A对象时,不会把B对象也查询出来,只会在用到A对象中B对象时才会去查询,默认好像是false,你可以看看后台的sql语句的变化就明白了,一般需要优化效率的时候会用到
@Lazy(true) @Component public class Chinese implements Person{ //codes here }
@DependsOn用于强制初始化其他Bean。可以修饰Bean类或方法,使用该Annotation时可以指定一个字符串数组作为参数,每个数组元素对应于一个强制初始化的Bean
@DependsOn({"steelAxe","abc"}) @Component public class Chinese implements Person{ //codes here }
参考:
- https://www.cnblogs.com/ClassNotFoundException/p/6928205.html
- https://zhidao.baidu.com/question/359557916.html
原文地址:https://www.cnblogs.com/liaojie970/p/9035491.html
时间: 2024-10-11 23:37:15