봄 세 가지 모듈은, IOC는 가장 큰 장점은 디커플링되고, 기초입니다. 두 눈에 잘 띄는 기능, 반전 및 의존성 주입 (사실, 할당).
공장 패턴을 사용하는 기본 아이디어를 역방향. 그런 다음 우리는 그의 베일 열었다.
1 단계 : 우리의 전통 DAO 레이어 만들기
public interface TestIocDao {
void save();
}
public class TestIocDaoImpl implements TestIocDao {
@Override
public void save() {
System.out.println("保存到数据库");
}
}
2 단계 : 우리의 전통적인 서비스 레이어를 만듭니다
public interface TestIocService {
public void save();
}
public class TestIocServiceImpl implements TestIocService {
private TestIocDao iocDao = (TestIocDao)MyBeanFactory.getBean("testIocDao");
@Override
public void save() {
iocDao.save();
}
}
3 단계 : 우리의 공장을 만들기
public class MyBeanFactory {
private static Properties properties = new Properties();
static {
InputStream inputStream = MyBeanFactory.class.getResourceAsStream("/iocBean.properties");
try {
properties.load(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
}
public static Object getBean(String name){
String className = properties.getProperty(name);
try {
return Class.forName(className).newInstance();
} catch (InstantiationException |IllegalAccessException|ClassNotFoundException e) {
e.printStackTrace();
}
return null;
}
}
단계 4 개의 : 시뮬레이션 된 XML을 생성, TXT 파일
testIocDao=com.pian.dao.impl.TestIocDaoImpl
testIocService=com.pian.service.impl.TestIocServiceImpl
5 단계 : 테스트 케이스 만들기
public class TestIocFactory {
private TestIocService iocService = (TestIocService)MyBeanFactory.getBean("testIocService");
@Test
public void test1(){
iocService.save();
}
}
요약 : 코드는 비교적 간단는 ..., 당신은 또한 그것을 시도 할 수있는 스프링이 장착 메커니즘의 명확한 이해를 깊게 할 수 있습니다 ,, 작성, 설명하지 않습니다