진짜 개발자
본문 바로가기

FrameWork/Spring

Spring - classpath란? Intellij에서 classpath 추가하기

728x90
Intellij에서 간단하게 beanConfiguration

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 결과