티스토리 뷰
기본적으로 context를 활용한 DI를 구성할 때, 접근하려는 객체의 기본 생성자가 존재하지 않는다면, 접근할 수가 없다.
그러나 일반적으로 싱글톤 패턴은 객체의 기본 생성자 자체가 private이기 때문에 마찬가지로 객체 생성이 불가능하다.
때문에 factory-method속성을 추가하여 getInstance메서드를 따로 호출해줘야 한다.
◎ExamTest
package test.exam02;
public class ExamTest {
private static ExamTest instance;
private ExamTest() {
}
public static ExamTest getInstance() {
if(instance == null) {
instance = new ExamTest();
}
return instance;
}
public void printMessage() {
System.out.println("호출: ");
}
}
◎exam02.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 = "exam" class = "test.exam02.ExamTest" factory-method = "getInstance">
</bean>
</beans>
◎main
package test.exam02;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import test.exam01.ExamDao;
public class ExamMain {
public static void main(String[] args) {
ApplicationContext context = new FileSystemXmlApplicationContext("src/test/exam02/exam02.xml");
ExamTest test = (ExamTest)context.getBean("exam");
System.out.println("Start");
test.printMessage();
System.out.println("end");
}
}
반응형
'[JAVA] > Spring' 카테고리의 다른 글
[Spring] Bean 객체의 범위 (0) | 2021.06.14 |
---|---|
[Spring] Spring DI 객체 주입 (0) | 2021.06.14 |
[Spring] Spring DI 인자 전달 (0) | 2021.06.14 |
[Spring] 스프링의 DI(Dependency Injection) 의존성 주입 (0) | 2021.06.14 |
[Spring] Spring 게시판 예제 마무리 & 구조 정리 (0) | 2021.06.14 |
Comments
최근에 올라온 글
최근에 달린 댓글
TAG
- AsyncStorage
- javascript
- react
- 맛집
- Promise
- redux-thunk
- react-native
- 이탈리안 레스토랑
- 정보보안기사 #실기 #정리
- 인천 구월동 맛집
- await
- 인천 구월동 이탈리안 맛집
- Async
- redux
- 파니노구스토
- Total
- Today
- Yesterday