Spring Cache源码(Redis)
Spring Session源码(Redis)
我的使用用发现
BeanDedinition和BeanFacotry
实际Beandefinition封装的就是实例对象的class&& 单例or原型模式,
BeanFactory就是Map结构<BeanName,BeanDedinition>,根据beanName名字获取Beandefiniton进而或许class的object对象。
将 Spring Bean 容器完善起来,
首先非常重要的一点是在 Bean 注册的时候只注册一个类信息,
而不会直接把实例化信息注册到 Spring 容器中。
那么就需要修改 BeanDefinition 中的属性 Object 为 Class,
接下来在需要做的就是在获取 Bean 对象时需要处理 Bean 对象的实例化操作以及
判断当前单例对象在容器中是否已经缓存起来了。
@Autowired注解(按类型注入)
注意:这里的bean的名称就是方法的名称(此时容器中有两个STudent类型的bean,注意这个并不违反Spring的单例bean的规定----Spring中的单例是指按照同一个beanName拿到的对象总是同一个对象)