龙岗网站建设网站制作,wordpress 还是自己写,wordpress 调试php代码,浏览器大全列表Spring中Bean的实例化和Bean的初始化有什么区别? 背景答案扩展知识什么是实例化什么是初始化 个人评价我的回答 背景
想换工作, 看了图灵周瑜老师的视频想记录一下, 算是学习结果的一个输出.
答案
Spring 在创建一个Bean对象时, 会先创建出一个Java对象, 会通过反射来执行… Spring中Bean的实例化和Bean的初始化有什么区别? 背景答案扩展知识什么是实例化什么是初始化 个人评价我的回答 背景
想换工作, 看了图灵周瑜老师的视频想记录一下, 算是学习结果的一个输出.
答案
Spring 在创建一个Bean对象时, 会先创建出一个Java对象, 会通过反射来执行类的构造方法, 从而得到一个Java对象, 这个过程我们通常叫做Spring Bean的实例化.
得到Java对象后, 会进行依赖注入, 依赖注入之后会进行初始化, 而 Bean 的初始化就是调用前面创建出来的Java对象中特定的方法, 比如Java对象实现了 InitializingBean接口, 那么初始化的时候就会执行Java对象中的 afterPropertiesSet(), Spring 只会执行这个方法, 并不关心做了什么, 我们可以再这个方法中去对某个属性进行校验, 或者直接给某个属性赋值都是可以的, 反正 Bean 的初始化就是执行 afterPropertiesSet(), 或者执行 init-method 指定的方法. 例如下面的两段代码:
Component
public class OrderService implements InitializingBean {Overridepublic void afterPropertiesSet() {...}/*** 用户自定义需要初始化的方法*/public void customInitMethod() {...}
}public class AppConfig {/*** 注册Bean, 并指定初始化方法** return OrderService*/Bean(initMethod customInitMethod)public OrderService generateOrderService() {return new OrderService();}
}扩展知识
什么是实例化
其实就是调用构造方法(这里是通过反射的方式), 生成一个Java Bean.
什么是初始化
其实本质就是在合适的时机去调用指定的方法.
个人评价
2023年10月5日14:59:49 感觉很多面试题, 需要我们去理解考察的点事什么? 就这个题目而言, 我认为就是一个概念统一的问题. 候选人是怎么理解实例化和初始化的.
我的回答
首先我想和您描述我对这个题目的理解. 我先解释一个什么是Sprign Bean实例化, 什么是Sprign Bean初始化? 如果这两个概念理解了, 他们的区别也就显而易见了.