inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 프레임워크 핵심 기술

IoC 컨테이너 6부: Environment 2부. 프로퍼티

서블릿 컨텍스트 초기화 파라미터 등록 관련

307

iamkimlog

작성한 질문수 1

0

안녕하세요! 좋은 강의 통해 잘 공부하고 있습니다! :)

프로퍼티 강의 보고 우선순위를 실험해보려고 이것저것 해보다가

서블릿 컨텍스트 초기화 파라매터를 등록해보면서 궁금한 것들이 생겨 질문 드립니다.

(이 방법을 찾는데도 생각보다 오래걸려서 힘들었네요@_ㅜ)

@Configuration

public 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 이 좀 더 적절한 것 같아 사용했는데 더 나은 어노테이션이 있는지 궁금합니다.

혹시 제가 잘 이해하지 못하는 부분이 있다면 어느 부분을 좀 더 공부하면 좋을지도 알려주시면 감사하겠습니다 ^^;

java spring

답변 2

0

iamkimlog

참고하겠습니다. 감사합니다!

0

백기선

  1. 9, 10 단계는 의존성을 설정해주는 단계 일 뿐이고 servlet initializer를 찾아 실행해주진 않습니다.
  2. 빈으로 등록하는게 맞는거 같습니다. 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

612

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