首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

第五章 诠释的注入

2012-10-07 
第五章 注释的注入一:注释的方法注入???1.XML配置文件的改动:????? 2.依赖包的导入:? aopalliance.jar?? a

第五章 注释的注入

一:注释的方法注入

???1.XML配置文件的改动:????

? 2.依赖包的导入:

? aopalliance.jar

?? asm-2.2.3.jar

?? asm-commons-2.2.3.jar

?? asm-util-2.2.3.jar

?? aspectjlib.jar

?? aspectjrt.jar

?? aspectjweaver.jar

?? cglib-nodep-2.1_3.jar

?? commons-attributes-api.jar

?? commons-attributes-compiler.jar

?? commons-logging.jar

?? log4j-1.2.15.jar

?? persistence.jar

?? spring-agent.jar

?? spring-aop.jar

?? spring-aspects.jar

?? spring-beans.jar

?? spring-context.jar

?? spring-core.jar

?? spring-jdbc.jar

?? spring-jms.jar

?? spring-orm.jar

?? spring-tomcat-weaver.jar

?? spring-tx.jar

?

二:@Autowired或 @Resource注释方式进行装配

??? @Autowired是默认按类型装配。

??? @Resource是默认按名称装配,找不到与名称匹配的bean时,再按类型装配。

?

???? (1).@Resource: JDK提供,移植性强,推荐使用, 可以看到支撑类是: import javax.annotation.Resource; 只要是JDK1.5以上版本,JDK内置了此注释支撑类.

???? (2).用法:

???? 用在属性上

???? 示例:

?? //dao层接口:?

??? ?注意:我们只在xml中配置了两个bean对象,它们之间并没有关系,但是在Java中我们采用注释语法,这个时候@Resource注释语法会根据属性名称在spring容器中去寻找和属性名称同名id的bean对象,然后将其注入到属性中。

?? //测试类??

????? 这个时候可以看到myFruitDao和属性名称并没有对应,但执行Test文件后,可以看到执行成功。这因为如果名称上没有对应,就会按类型自动对性,所以会执行成功。

?

??(4).我们还可以给@Resource加上name,请看下面的语法

?? //service层实现类

?

??

??

<context:component-scan base-package="com.spring.chapter5" />这一项配置了需要扫描的包,包含子包.

??? @Service: 用于标注业务层的类
??? @Controller: 用于标注控制层,如Action
??? @Repository: 用于标注Dao层
??? @Component: 用于标注组件层, 当组件不好归类的时候,可以用此标注

??? 通过扫描机制, 基本上可以达到配置文件基本为空的效果, 这是Spring2.5新推出的功能, 老系统不能运用, 但是新系统中, 此功能运用的非常多。

??? 示例:

?? //dao层实现类??

?? //测试类??

@Service("fruitService")public class FruitServiceImpl implements FruitService {@Resource(name="fruitDao")private FruitDao fruitDao;public void create() {fruitDao.create();}public void setFruitDao(FruitDao fruitDao) {this.fruitDao = fruitDao;}}

?

热点排行