Construct Method Injection
Application.xml
<?XML version= "1.0" encoding= "UTF-8"?><Beansxmlns= "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.xsd" > <BeanID= "Orange"class= "Com.wzh.fruit.impl.Orange"></Bean> <BeanID= "Apple"class= "Com.wzh.fruit.impl.Apple"></Bean> <BeanID= "Personapple"class= "Com.wzh.person.Person"> <Constructor-argref= "Apple"></Constructor-arg> </Bean> <BeanID= "Personorange"class= "Com.wzh.person.Person"> <Constructor-argref= "Orange"></Constructor-arg> </Bean></Beans>
Fruit.java
Package Com.wzh.fruit; Public Interface Fruit { public String getfruit ();}
Apple.java
Package Com.wzh.fruit.impl; Import Com.wzh.fruit.Fruit; Public class Implements fruit{ public Apple () { } public String getfruit () { = "Apple"; return Apple; }}
Orange.java
Package Com.wzh.fruit.impl; Import Com.wzh.fruit.Fruit; Public class Implements fruit{ public Orange () { } public String getfruit () { = "Orange"; return orange; }}
Person.java
Package Com.wzh.person; Import Java.lang.reflect.Constructor; Import Com.wzh.fruit.Fruit; Public class Person { private Fruit Fruit; Public Person (Fruit _fruit) { = _fruit; } Public void eat () { System.out.println("I want Eat" +Fruit.getfruit ());} }
Run.java
PackageCom.wzh.run;ImportCom.wzh.person.Person;ImportOrg.springframework.context.ApplicationContext;ImportOrg.springframework.context.support.ClassPathXmlApplicationContext; Public classRun { Public Static voidMain (string[] args) {ApplicationContext ac=NewClasspathxmlapplicationcontext ("Application.xml"); Person P= (person) ac.getbean ("Personorange"); P.eat (); } }
Java Dependency Injection method