간단 한 SpringIOC 시 뮬 레이 션
4010 단어 spring ioc
응용 프로그램 Context 인 터 페 이 스 는 BeanFactory 에서 파생 되 어 BeanFactory 의 기능 을 강화 하고 실제 응용 을 위 한 더 많은 방법 을 제공한다.대부분의 경우 애플 리 케 이 션 컨 텍스트 를 Spring 용기 로 사용한다.다음 시 뮬 레이 션 SpringIOC:
이것 은 POJO 류, Boy. 자바 입 니 다.
package POJO;
public class Boy {
private Integer id;
private String name;
private Integer age;
public Boy(){}
//.... getter setter
}
다음은 xml 파일 을 쓰 겠 습 니 다. spring. xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans>
<bean id ="boy" class="POJO.Boy">
<property name="id" value="1"/>
<property name="name" value=" "/>
<property name="age" value="11"/>
</bean>
</beans>
핵심 클래스: SpringIOC
public class SpringIOC {
private String XMLPath;
/**
* @param XMLPath
*
*/
public SpringIOC(String XMLPath) {
this.XMLPath = XMLPath;
}
public Object getBean(String beanId) throws Throwable {
// 1.
Document doc = this.loadXML();
// 2. beanId <bean>
Element beanElement = this.getBeanElement(doc, beanId);
// 3. beanElement class
String classPath = this.getClassPath(beanElement);
// 4. class bean
Object obj = this.createObject(classPath);
// 5. beanUtils
obj = this.setObeject(beanElement, obj);
return obj;
}
/**
* xml
*
* @return
* @throws Throwable
*/
private Document loadXML() throws Throwable {
return new SAXReader().read(new File(XMLPath));
}
/**
* beanId bean
*
* @param doc
* @param beanId
* @return Element
*/
private Element getBeanElement(Document doc, String beanId) {
return (Element) doc.selectSingleNode("//bean[@id='" + beanId + "']");
}
/**
* beanElement class
*
* @param beanElement
* @return
*/
private String getClassPath(Element beanElement) {
return beanElement.attributeValue("class");
}
/**
* class bean
*
* @param classPath
* @return
*/
private Object createObject(String classPath) throws Throwable {
return Class.forName(classPath).newInstance();
}
/**
* beanUtils
*
* @param obj
* @return
* @throws Throwable
*/
@SuppressWarnings("unchecked")
private Object setObeject(Element beanElement, Object obj) throws Throwable {
List<Element> list = beanElement.elements();
for (Element element : list) {
String name = element.attributeValue("name");
String value = element.attributeValue("value");
BeanUtils.setProperty(obj, name, value);
}
return obj;
}
}
메모: dom4j 로 xml 를 분석 하고 BeanUtils 를 사용 하여 대상 에 게 속성 을 설정 합 니 다. 해당 jar 패 키 지 를 가 져 와 야 합 니 다.
테스트 클래스 TestSpringIOC. java
public class TestSpringIOC {
public static void main(String[] args) throws Throwable {
SpringIOC ioc = new SpringIOC("src/spring.xml");
Boy boy = (Boy) ioc.getBean("boy");
System.out.println(boy);
}
}
출력: Boy [id = 1, name = 꼬마, age = 11], 간단 한 아 날로 그 SpringIOC 는 여기 서 끝 났 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Spring IOC 단순 속성 주입Spring 에서 제공 하 는 bean 사용: 연결 풀 주입 < value > 태그 사용 가능 com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/mydb root masterk...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.