一个.java文件是如何转为Spring能识别的bean
发布时间:2021-05-20 08:58:09 所属栏目:大数据 来源: https://blog.csdn.net/u014209
导读:java文件在经过编译器编译后会生成.class 文件。.class文件会包含类的一些基本信息,比如类名,构造函数,属性,方法等。 .class 文件会由jvm 加载到jvm。至于这个类是如何加载到jvm的,是遵从类的加载机制:双亲委任原则。 类加载到jvm后,在spring 的环境下
java文件在经过编译器编译后会生成.class 文件。.class文件会包含类的一些基本信息,比如类名,构造函数,属性,方法等。
.class 文件会由jvm 加载到jvm。至于这个类是如何加载到jvm的,是遵从类的加载机制:双亲委任原则。 类加载到jvm后,在spring 的环境下,会统一转为能使用的bean,并由IOC来统一管理
ioc会管理所有初始化后的bean。一般情况下bean 的作用域都是单例的,也有protoful 的scope ,这种情况就是每次需要一个bean 都会去new一次。 这个过程需要注意:循环引用的问题,通过使用setter注入或注解注入来解决循环引用的问题。 另一个问题就是 ioc 的底层实现,就是这么多的bean 初始化后存在哪里,是用的什么数据结构在存储很显然,就是Map 那具体就是ConcurrentHashMap,一个java bean 在spring 中是通过BeanDefinition来定义的。可以看到DefaultListablebeanfactory中有对ioc容器的声明就是一个ConcurrentHashMap。 ? (编辑:北几岛) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |