注解属性注入问题

来源:互联网 发布:常用sql多表查询学生表 编辑:程序博客网 时间:2024/06/07 01:46

使用注解是不需要set和get方法的。因为spring在实例化对象时,是通过java的反射机制注入实例。具体请自行参考java反射。

使用spring注解的属性,不需要get,set方法。

spring反射实例化对象,在实例化对象时也需要实例类中的非静态field,如果有set方法,可以通过方法名找到Method.invoke()来初始化field,但是没有set方法,spring直接修改field的权限(也就是把private修改为protected或public),然后将field初始化。

@resource可以加在属性上,也可以加在set方法上,但是如果是如下情况就一定要加在set方法上

由于在每个业务service中都存放了同样的基类方法,如增删改查;应写一个BaseService来实现这些基础方法并用BaseServiceImpl来实现其操作。这样具体业务Service可以直接继承这些内容。在BaseServiceImpl中只需要操作基础方法,所以在与数据库的操作交互中,只要能够获取到BaseDao对象即可。这个BaseDao可以从具体的业务ServiceImpl中传递自身业务DaoBaseServiceImpl便可。


Service类;可如下实现对BaseServiceImpl类中的BaseDao对象的实例化:


0 0
原创粉丝点击