我试图在spring框架内检查一些代码,其中自动显示的功能是编码的。
让我给你举个例子。
@Component
public lass Service{
@Autowired
private DaoLayer daoLayer;
}我的问题是:当各自的字段被使用Autowired标记时,spring如何注入DaoLayer或任何实例。
谁能帮我指出我在哪里可以找到这个信息或解释我更多关于这个过程。
我记得在sring2.5中,setter和setter需要出现,但在spring 3.2中不再出现,那么现在spring是自己创建的吗?还是不再用了?
谢谢。
发布于 2014-04-10 21:44:18
使用反射?,如果使用反射:反射可以访问私有字段吗?
是的,春天到处都是反射。有了反射,你可以做很多事情,比如访问私有字段、方法、构造函数和类。
使用一个新创建的代理来完成这个任务?如果发生这种情况,那么当getter和setter不存在时会发生什么呢?
Spring直接在字段上解析@Autowired。在创建bean时,它只需要getter和setter(使用Java常规名称)来解析<bean>声明的<bean>元素。注意Spring再次使用反射来调用这些getter/setter。
使用其他技术和哪一种?
不需要别的了。
如果您对执行此操作的实际类感兴趣,请查看AutowiredAnnotationBeanPostProcessor。春季文献也解释了其中的一些内容(查看IoC章节)。
https://stackoverflow.com/questions/22999540
复制相似问题