目录结构
TestDIDao.java
package dao;
public interface TestDIDao {
public void sayHello();
}
TestDiDaoImpl.java
package dao;
public class TestDiDaoImpl implements TestDIDao {
@Override
public void sayHello() {
// TODO Auto-generated method stub
System.out.println("Hello,Study hard!");
}
}
TestDIService.java
package service;
public interface TestDIService {
public void sayHello();
}
TestDIServiceImpl.java
package service;
import dao.TestDIDao;
public class TestDIServiceImpl implements TestDIService {
private TestDIDao testDIDao1;
public void setTestDIDao(TestDIDao testDIDao) {
this.testDIDao1=testDIDao;
}
@Override
public void sayHello() {
// TODO Auto-generated method stub
testDIDao1.sayHello();
System.out.println("TestDIService构造方法注入say:Hello,StudyHard");
}
}
TestDI.java
package test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import service.TestDIService;
public class TestDI {
public static void main(String[] args) {
// TODO Auto-generated method stub
ApplicationContext appcon=
new ClassPathXmlApplicationContext("applicationContext.xml");
TestDIService ts=(TestDIService)appcon.getBean("testDIservice");
ts.sayHello();
}
}
application.xml
<?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.xsd">
<bean id="myTestDIDao" class="dao.TestDiDaoImpl">
</bean>
<!-- more bean definitions go here
<bean id="testDIservice" class="service.TestDIServiceImpl">
<constructor-arg index="0" ref="myTestDIDao"/>
</bean>
-->
<bean id="testDIservice" class="service.TestDIServiceImpl">
<property name="TestDIDao" ref="myTestDIDao"/>
</bean>
</beans>