스프링 프로젝트 생성
이 포스팅은 구멍가게코딩단의 코드로 배우는 스프링 웹 프로젝트 책을 참고하여 작성하였다.
개발 환경
- Spring 5.x 버전대
- Tomcat 9.x 버전대
- 인텔리제이 얼티메이트 버전
- MariaDB
- jQuery JS
- Axios
인텔리제이 프로젝트 생성하기


Jakarta EE 탭을 선택하고 프로젝트를 화면과 같이 설정한다.
템플릿은 웹 애플리케이션으로 선택,
애플리케이션 서버는 톰캣 9버전대 최신을 선택한다. (오른쪽 새로 만들기 버튼을 클릭, 톰캣경로 선택)

버전은 꼭 Java EE 8로 선택하고 아래 생성 버튼을 클릭한다.
프로젝트가 다 로드되면 톰캣 실행 테스트를 우선 한다.
톰캣 설정



기존의 설정을 -버튼을 눌러 삭제하고, +버튼을 눌러 아티팩트를 추가한다.

컨텍스트는 기본 루트인 /로 입력하고 적용 및 확인.
톰캣 실행 후 아래와 같이 나오면 성공.


build.gradle 라이브러리 추가
우선 https://mvnrepository.com 사이트로 이동해서 라이브러리를 검색 후 적용한다.
자주 이용하게 될 사이트이므로 즐겨찾기에 저장.
build.gradle 일부
dependencies {
compileOnly('javax.servlet:javax.servlet-api:4.0.1')
testImplementation("org.junit.jupiter:junit-jupiter-api:${junitVersion}")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:${junitVersion}")
// https://mvnrepository.com/artifact/org.springframework/spring-core
implementation 'org.springframework:spring-core:5.3.27'
implementation 'org.springframework:spring-context:5.3.27'
implementation 'org.springframework:spring-webmvc:5.3.27'
implementation 'org.springframework:spring-test:5.3.27'
// https://mvnrepository.com/artifact/org.projectlombok/lombok
compileOnly 'org.projectlombok:lombok:1.18.30'
testCompileOnly 'org.projectlombok:lombok:1.18.30'
annotationProcessor 'org.projectlombok:lombok:1.18.30'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.30'
}
프로젝트의 기본적인 라이브러리가 추가되었다.
인텔리제이 오른쪽에 xml 동기화 버튼을 눌러 라이브러리를 다운받는다.
계속 진행하면서 추가되는 라이브러리들을 역시 같은 방법으로 추가한다.
spring 설정파일 추가 및 web.xml 수정

우선, WEB-INF 폴더 밑에 spring 폴더를 생성, xml파일을 생성.



root-context.xml, servlet-context.xml 파일을 생성.
뒤에 .xml 확장자명을 안써도 자동으로 xml파일로 만들어진다.
파일안에 맨 위 xml 설정도 자동으로 만들어져 생성됨.
web.xml에 아래와 같이 톰캣 실행될 때 스프링이 같이 동작, 서브릿 설정 등을 추가한다.
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/spring/root-context.xml</param-value>
</context-param>
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/spring/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
톰캣을 띄어 로그를 확인해보면 스프링프레임워크가 같이 뜨는걸 확인할 수 있다.
그리고, 인텔리제이라서 좋은 점이 위의 코드들을 자동완성을 통해 쉽게 작성 가능.
'웹개발 > 스프링' 카테고리의 다른 글
| 스프링 프로젝트 라이브러리 추가 (0) | 2024.02.07 |
|---|