配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<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-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd">
<context:component-scan base-package="examples"/>
</beans>
bean:
package examples;
import org.springframework.stereotype.Repository;
@Repository
public class AnotherBean {
public void say(){
System.out.println("this is AnotherBean");
}
}
package examples;
import org.springframework.stereotype.Repository;
@Repository
public class YetAnotherBean {
public void say(){
System.out.println("this is YetAnotherBean");
}
}
package examples;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
@Repository("exampleBean")
public class ExampleBean {
@Autowired
private AnotherBean beanOne;
@Autowired
private YetAnotherBean beanTwo;
public void setBeanOne(AnotherBean beanOne) {
this.beanOne = beanOne;
}
public void setBeanTwo(YetAnotherBean beanTwo) {
this.beanTwo = beanTwo;
}
public void say(){
System.out.println("this is ExampleBean ");
}
public void sayAll(){
beanOne.say();
beanTwo.say();
this.say();
}
}
Test:
package examples;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
ApplicationContext ctx=new FileSystemXmlApplicationContext("/WebRoot/WEB-INF/classes/applicationContext.xml");
ExampleBean eb = (ExampleBean) ctx.getBean("exampleBean");
eb.sayAll();
}
}
备注(非自动注入配置方式):
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="exampleBean" class="examples.ExampleBean">
<!-- setter injection using the nested <ref/> element -->
<property name="beanOne">
<ref bean="anotherExampleBean" />
</property>
<!-- setter injection using the neater 'ref' attribute -->
<property name="beanTwo" ref="yetAnotherBean" />
<property name="integerProperty" value="1" />
</bean>
<bean id="anotherExampleBean" class="examples.AnotherBean" />
<bean id="yetAnotherBean" class="examples.YetAnotherBean" />
</beans>