Spring

Intellij 에 Spring Framework 설정하기

728x90

Eclipse IDE 에서 작성하던 스프링 프레임워크 기반의 프로젝트를 Intellij IDEA 에 그대로 이식하면 아주 단순한 어플일 경우에는 될지도 모르나, 일반적으로는 있는 그대로는 이식이 안된다.

톰캣 서버 설정, 데이터베이스 서버 연결, 프로젝트 모듈 관리 등의 별도의 작업들이 필요한데, 아래에는 몇가지 예시를 넣어서 정리를 해보려 한다.

(참고로, 스프링 부트가 아닌 스프링 프레임워크 기준이다)

 

 

- 톰캣 서버 설정하기

먼저 프로젝트의 Edit Configuration 에 들어가면 Templates 부분에 아래 화살표를 눌러서 자세히 목록들을 살펴보면 아래 그림처럼 Tomcat Server 가 나온다

 

 

이 상태에서 우측 상단에 보이는 Create Configuration 을 눌러주고 아래와 같이 자신이 사용하고 있는 프로젝트와 연결하기 위해, URL, Port 번호 등을 설정해준다.

 

 

설정해줄때, 프로젝트에 대한 artifact 를 잘 설정하는게 중요하다.

Deployment 탭에 들어가서 + 버튼을 누른뒤, artifact 에 war exploded 를 선택해서 추가해준다.

이때 Application context (=context path) 와 URL 이 일치하는지 확인해준다.

(사실 intellij 가 알아서 설정해주지만, 뒤에 war 나 war_exploded 를 붙이고 싶지 않은 경우에만 신경써줘야한다)

 

 

 

- 데이터베이스 연동하기

Intellij IDEA 메뉴 탭에 View -> Tool Windows -> Database 를 누르면 우측에 Database 를 설정하는 탭이 보이게된다

여기에서 + 버튼을 누른뒤, Data Source 부분에 들어가면 연결하고자 하는 DB 종류가 나온다.

MySQL 을 쓴다고 가정하면 아래 같은 화면이 나오게 되고, 아래 화면에 연결하려는 DB 의 url 과 username, password 등의 정보를 입력해서 연결해주면 된다

 

 

- Project Modules 확인하기

이클립스에서 Intellij 로 그대로 이식하면 간혹, 일부 모듈이 빠져있는 경우가 있다.

그래서 메뉴 탭의 File -> Project Structure -> Modules 에 들어가서 자신이 사용하려는 모듈 중 빠진게 있는지 확인한다

나 같은 경우 Hibernate 가 pom.xml 에 정의되어 있음에도 모듈에 들어가지 않고 빠져있었는데, 아래 그림과 같이 추가를 해줘야했었다.

 

 

위 프로젝트의 경우 xml 을 쓰지 않고 환경설정을 했었는데, xml 을 이용해서 설정하려면, 

아래의 + 버튼을 누르고 hibernate.cfg.xml 파일을 생성해야한다.

 

 

- 엔티티 클래스와 DB 테이블 연결하기

이클립스의 경우 Hibernate ORM 을 통해서 DB 와 연동할때, 엔티티 클래스와 테이블이 제대로 연동이 되었는지 아닌지 체크하는 시기는 오로지 런타임 시기에만 확인을 하게 되어 있다.

그러나 Intellij 의 경우, 컴파일 단계에서 엔티티 클래스와 테이블간의 매핑이 제대로 되었는지 확인하기 때문에, 실행하기 이전에 연동 작업을 해줘야한다.

 

이를 위해서는 메뉴 탭의 View -> Tool Windows -> Persistence 를 누르면 다음과 같은 창이 좌측 화면에 나오게 되는데

(연동하기 전에는 위의 파란 네모박스 customer-management-app 은 나오지 않는다 아래 hibernate 로고만 나옴)

 

hibernate 로고를 달고 있는 부분에 마우스 우클릭후 

Generate Persistence Mapping -> By Database Schema 를 눌러준다.

 

그러면 아래와 같이 ORM 연동을 위한 설정 창이 나오게 된다

 

여기에 만들어둔 DB 와 연결시키고, 스키마 연결해주고 프로젝트에 따라서 아래의 settings 부분을 잘 선택하면 된다.

 

 

 

 

- References)

1. How to install in Intellij IDEA : www.alwa.info/2017/How-to-install-Hibernate-in-IntelliJ-IDEA.html

2. Export WAR in Intellij and deploy to tomcat : gmlwjd9405.github.io/2018/12/24/intellij-tomcat-war-deploy.html

 

 

 

728x90

'Spring' 카테고리의 다른 글

Spring Boot - DAO  (0) 2021.03.24
Spring Boot - Overview  (0) 2021.03.22
Spring REST - REST Controller  (0) 2021.03.11
Spring REST - Overview  (0) 2021.03.07
Spring Security - User Registration  (0) 2021.03.07