서블릿 컨텍스트 초기화 파라미터 등록 관련
307
작성한 질문수 1
안녕하세요! 좋은 강의 통해 잘 공부하고 있습니다! :)
프로퍼티 강의 보고 우선순위를 실험해보려고 이것저것 해보다가
서블릿 컨텍스트 초기화 파라매터를 등록해보면서 궁금한 것들이 생겨 질문 드립니다.
(이 방법을 찾는데도 생각보다 오래걸려서 힘들었네요@_ㅜ)
@Configurationpublic class ServletContextInit implements ServletContextInitializer {
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
servletContext.setInitParameter("name", "dongwook");
}
}
// AppRunner.java 에서는 @Autowired ServletContext servletContext; 를 통해 ServletContext 를 받고, getInitParameter 메소드를 사용했습니다.
결국 힌트가 된건 BeanFactory 의 초기화 순서였는데요. 처음엔 ServletContextAware 를 구현해 setServletContext 메소드에서 setInitParameter를 실행했더니 이미 서블릿컨텍스트가 초기화된 뒤라 오류가나고, 좀 더 뒤적뒤적 하다보니 ServletContextInitializer를 찾을 수 있었습니다.
궁금한 점은
1 - ServletContextInitializer 는 BeanFactory 초기화 순서 중 9, 10 번 사이에서 실행되는지 궁금하고,
2 - @Configuration나 @Component 를 붙여줘야 원하는대로 실행되었는데 어노테이션을 왜 붙여야하는지 잘 이해가 되지 않고, 두 개 어노테이션 중 Configuration 이 좀 더 적절한 것 같아 사용했는데 더 나은 어노테이션이 있는지 궁금합니다.
혹시 제가 잘 이해하지 못하는 부분이 있다면 어느 부분을 좀 더 공부하면 좋을지도 알려주시면 감사하겠습니다 ^^;
답변 2
0
- 9, 10 단계는 의존성을 설정해주는 단계 일 뿐이고 servlet initializer를 찾아 실행해주진 않습니다.
- 빈으로 등록하는게 맞는거 같습니다. ServletContextInitilizer는 API 문서에도 써있지만 자동으로 찾아서 실행해주는 인터페이스가 아니에요. (API 문서 참고하세요.)
우선 사용하시는 인터페이스의 API 문서를 차근 차근 읽어나가시기 바랍니다.
BeanFactory와 ApplicationContext 중 사용하고 싶은 컨테이너를 설정 할 수 있나요?
0
381
1
프로젝트 생성에 관련한 질문
0
376
1
안녕하세요 강의 내용을 듣다가 궁금점이 생겨 글을 남기게 되었습니다.
0
371
1
HttpServeltRequest 객체의 빈 스코프에 대해 질문 드립니다.
0
304
0
PropertyEditor non thread-safe 한 이유
0
491
1
빈의 초기화 시점이 궁금합니다.
0
393
1
이 강의 예제소스 없나요?
0
345
1
릴로딩 기능에 대해
0
404
1
Bean 을 특정 Application...Event 발생 후, 등록하는 방법이 궁금합니다
0
613
3
IoC/DI와 POJO의 관계
1
749
2
기선님 RetentionPolicy에 대해서 질문이 있습니다.
0
291
1
안녕하세요 기선님!
3
486
3
비동기적으로 실행할때
0
314
2
"Prototype/프록시"로 설정했는데 동일한 객체로 나옵니다
0
530
4
@Autowired 로 가져오는 Bean은 ?
2
280
1
Type-Safety 의미
0
538
1
Null Point
0
318
1
WebDataBinder를 특별히 쓰는 이유가 있나요?
0
384
1
안녕하세요?
0
336
2
애노테이션이 없습니다(?)
0
280
3
코드 중 변수 앞에 적는 것이 무엇인지 알고 싶습니다.
0
295
2
강의 하시면서 사용하는 resolving 이란 단어는 어떤 의미인가요?
1
1499
1
IOC컨테이너관련 질문입니다
0
245
3
인터페이스가 있는 경우 인터페이스 타입으로 주입하는 추가 질문입니다.
0
259
1





