6.spring自动装载

来源:互联网 发布:投资数据分析 编辑:程序博客网 时间:2024/06/05 16:48

 1.设值注入所需的setter方法

@Resource(name = "stoneAxe")public void setAxe(Axe axe) {this.axe = axe;}

或者直接

@Autowired@Qualifier("steelAxe")private Axe axe;

2.自动装载bean时可以过滤

<?xml version="1.0" encoding="GBK"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.0.xsd"><!-- 自动扫描指定包及其子包下的所有Bean类 --><context:component-scan base-package="org.crazyit.app.service"><!-- 只包含以Chinese、Axe结尾的类 --><context:include-filter type="regex"expression=".*Chinese"/><context:include-filter type="regex"expression=".*Axe"/></context:component-scan></beans>
3.管理bean的生命周期

@Componentpublic class Chinese implements Person {// 执行Field注入@Resource(name = "steelAxe")private Axe axe;// 实现Person接口的useAxe方法public void useAxe() {// 调用axe的chop()方法,// 表明Person对象依赖于axe对象System.out.println(axe.chop());}@PostConstructpublic void init() {System.out.println("正在执行初始化的init方法...");}@PreDestroypublic void close() {System.out.println("正在执行销毁之前的close方法...");}}



0 0
原创粉丝点击