spring IOC 实例

配置文件:

<?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>


你可能感兴趣的:(spring ioc)