Intellij에서 간단하게 beanConfiguration.xml 파일을 생성하고 테스트를 위해서 실행을 하려는 도중 beanConfiguration.xml 파일이 위치한 디렉토리를 classpath:
로 인식시키는 방법을 찾게 되었습니다. 운이 좋게 짧은 시간의 삽질을 통해 방법을 알아냈습니다.
1. ClassPath란?
ClassPath
란 "자바 가상머신이 프로그램을 실행할때 Class
파일을 찾는데 기준이 되는 경로"를 의미합니다. Classpath를 지정하지 않는다면, 자바가상머신이 위치한 디렉토리에서만 클래스들을 찾게 됩니다.
spring 에서는 이 classpath를 통해서 필요한 resource를 가져와 사용하게됩니다.
2. Intellij에서 새로 생성한 디렉토리를 ClassPath 에 추가하기
2.1 Bean Class 생성
우선 간단히 Bean으로 등록할 Class를 생성했습니다. 기능은 내부의 필드로 가지고 있는 String 값을 리턴해주는 기능밖에 없습니다.
2.2 BeanConfiguration xml 파일 생성
webapp/WEB-INF
하위에 configuration 파일들이 담길 spring 디렉토리를 하나 생성한 후 di.xml(Configuration)
파일을 생성한 뒤 방금 생성한 Student class를 등록했습니다.
2.3 Classpath에 spring 디렉토리 추가
방금 생성한 WEB-INF/spring
디렉토리를 classpath에 추가하기 위해 해당 디렉토리를 클릭한 뒤 상단의 Resources를 클릭하고 적용합니다.
2.4 Classpath의 xml을 가져와 ApplicationContext를 설정
테스트를 위해 ApplicationContext(IoC Container)를 생성합니다. 이때 구현체로는 ClassPath의 xml을 가져오기위해 ClassPathXmlApplicationContext
를 사용합니다.
괄호 안에는 classpath:di.xml
을 입력합니다. 이렇게 한다면 우리가 등록한 classpath에서 해당 파일을 검색하여 resource로 가져와 ClassPathXmlApplicationContext
에서 알맞은 처리를 하게됩니다.
2.5 결과
'FrameWork > Spring' 카테고리의 다른 글
Spring - AOP를 이용해 도메인과 Mobile Push 알림 기능을 분리하자 (0) | 2020.06.30 |
---|---|
Spring - IoC 컨테이너의 기능 - 7 (Resource 추상화 - ResourceLoader) (0) | 2019.05.03 |
Spring - Lombok 이란?, Intellij Lombok 설정방법 (2) | 2019.05.01 |
Spring - IoC 컨테이너의 기능 - 6 (DataBinding 추상화, Converter, Formatter 란?) (0) | 2019.04.16 |
Spring - IoC 컨테이너의 기능 - 5 (객체의 값 검증 Validation, Errors) (2) | 2019.04.14 |