51,411
社区成员
发帖
与我相关
我的任务
分享反射+动态代理。~~~~Spring所有的Bean都离不开这两个过程,只是使用流程上有差异而已。
首先加载所有类到jvm里,然后getBean()从jvm读取对象,然后获取后,判断是否等于接口类型,最后怼进三级缓存
spring DI 和IOC看看DEbug一个类就只知道咋实现了
不太清楚你想问的到底是什么,你的实现类不是会有@Service吗,spring会解析你的实现类将实现类的名称(如果@service未指定名称)和实现类的类型作为键值对放入beanDefsMap(bean定义集合)中,spring getBean一开始是通过byType的方式从beanDefsMap中去获取对应接口的实现类,如果有多个实现类的话才会通过byName的方式。如果你的实现类实现了接口,那么在byTpye的时候就能从
bean定义中获取到实现类的构造方法进行newInstance()。个人理解=。=
大佬,我问得是spring容器对象通过getBean方法,实参放的是接口得字节码对象,这里用得是动态代理吗?
JDK动态代理