-
자바 웹 개발 개발환경 세팅(8) Spring Project 2Spring Legacy/개발 환경 2020. 11. 24. 16:13
1. POM
- 생성된 프로젝트에서 pom.xml 파일을 클릭합니다.
- pom.xml 파일은 프로젝트에 필요한 객체를 모델링해서 관리하는 파일입니다.
2. 전자정부 표준 프레임워크
- 구글에서 전자정부 표준프레임워크 검색
- 표준프레임워크 소개 > 구성 > 버전별 구성 확인
- 현재 현황에 맞춰 3.9로 구성해 보겠습니다.
- 표준프레임워크 소개 > 구성 > 오픈소스 SW현황 확인
- 실행환경에 3.9 버전만 체크 후 버전 확인
3. POM Setting - properties
- Spring Framework 4.3.22 버전으로 변경
- java 1.8 버전으로 변경
- Log4j 2.11.2 버전으로 변경
- Slf4j 1.7.25 버전으로 변경
- aspectj 1.9.5 버전으로 변경
- Spring Security 4.2.11 버전으로 변경
- jackson 2.10.0 버전 추가
4. POM Setting - Spring
- spring-context : root-context(DB 연결)와 servlet-context(JAVA연결) 제공 라이브러리
- spring-webmvc : springMVC, REST웹 서비스 제공 라이브러리
- spring-test : 테스트 제공 라이브러리
- spring-tx : 트랜잭션 제공 라이브러리
- spring-jdbc : jdbc 제공 라이브러리
<!-- Spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${org.springframework-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${org.springframework-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${org.springframework-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${org.springframework-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${org.springframework-version}</version> </dependency>
5. POM Setting - AspectJ
- AOP를 구현하기 위해 사용, 핵심적 인기 능에 부가되어 의미를 갖는 모듈이라 볼 수 있습니다.
- aspectjrt : aspectj 런타임 제공 라이브러리
- aspectjweaver : aspectj 코드 생성 유틸리티 라이브러리
<!-- AspectJ --> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>${org.aspectj-version}</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>${org.aspectj-version}</version> </dependency>
6.POM Setting - Logging
- 로그를 사용하기 위해 사용합니다.
- jcl-over-slf4j : jcl과 slf4j를 이어주는 라이브러리
- log4j-core : log4j 제공 라이브러리
- log4j-slf4j-impl : log4j와 slf4j를 이어주는 라이브러리
- <exclusions> : 해당 라이브러리 제외
- log4j-api : log4j api 제공 라이브러리 (제외-spring framework 사용 시 기본 로깅과 중복 동작할 가능성이 있음)
- log4jdbc-log4j2-jdbc4 : 로그 출력 라이브러리
<!-- Logging --> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>${org.slf4j-version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>${org.log4j-version}</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> <version>${org.log4j-version}</version> <exclusions> <exclusion> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.bgee.log4jdbc-log4j2</groupId> <artifactId>log4jdbc-log4j2-jdbc4</artifactId> <version>1.16</version> </dependency>
7. POM Setting - Inject
- 주입하려는 객체의 타입이 일치하는 객체를 자동으로 주입시키기 위해 사용합니다.
- javax.inject : inject 제공 라이브러리
<!-- @Inject --> <dependency> <groupId>javax.inject</groupId> <artifactId>javax.inject</artifactId> <version>1</version> </dependency>
8. POM Setting - Servlet
- javax.servlet-api : 자바를 사용하여 웹페이지를 동적으로 생성하는 java servlet 제공 라이브러리
- jsp -api : jsp api 제공 라이브러리 (jsp를 사용하는 것이 html환경에서 개발하는 것보다 개발하기 편리합니다.)
- jstl : jstl 제공 라이브러리(jstl은 표준 태그 라이브러리로 자바 코드를 바로 사용하지 않고 로직을 내장하는 효율적인 방법을 제공합니다.)
<!-- Servlet --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency>
9. POM Setting - DB
- mysql-connector-java : mysql 커넥터 제공 라이브러리
- mariadb-java-client : 표준 jdbc api를 사용하여 java로 개발된 애플리케이션을 MariaDB 데이터베이스에 연결해주는 라이브러리
- HikariCP : 데이터베이스와 커넥션 풀 관리 제공 라이브러리
- mybatis : sql 명령어와 자바 객체를 매핑해주는 기능 제공 라이브러리
- mybatis-spring : mybatis와 spring을 이어주는 라이브러리
<!-- DB --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.21</version> </dependency> <dependency> <groupId>org.mariadb.jdbc</groupId> <artifactId>mariadb-java-client</artifactId> <version>2.6.2</version> </dependency> <dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> <version>3.4.5</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.6</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.3.3</version> </dependency>
10. POM Setting - Util
- jackson-databind : java object > json 또는 json > java object로 변환을 제공하는 라이브러리
- jackson-dataformat-xml : json을 xml 기반으로 변환을 제공하는 라이브러리
<!-- Util --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>${fasterxml.jackson-version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-xml</artifactId> <version>${fasterxml.jackson-version}</version> </dependency>
11. POM Setting - Security
- spring security를 사용하기 위한 라이브러리
<!-- Security --> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-core</artifactId> <version>${org.springframework.security-version}</version> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-web</artifactId> <version>${org.springframework.security-version}</version> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-config</artifactId> <version>${org.springframework.security-version}</version> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-taglibs</artifactId> <version>${org.springframework.security-version}</version> </dependency>
12. POM Setting - Test
- junit : 테스트 제공 라이브러리
<!-- Test --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency>
13. POM Setting - <bulid>
- build > plugins > plugin > maven-complier-plugin > configuration에서 source버전 1.8, target버전 1.8로 변경
14. Version Setting
- 프로젝트 우클릭 > properties > projectFacets > dynamic web module > 3.1 ver
> java > 1.8 ver
- JRE System Libaray 우클릭 > Build Path > configure build path > JRE System Library > 1.8 ver
'Spring Legacy > 개발 환경' 카테고리의 다른 글
자바 웹 개발 개발환경 세팅(9) Spring Project 3 (0) 2020.11.26 자바 웹 개발 개발환경 세팅(7) Spring Project 1 (0) 2020.10.05 자바 웹 개발 개발환경 세팅(6) MariaDB 설치 (0) 2020.09.28 자바 웹 개발 개발환경 세팅(5) Tomcat 설치하기 (0) 2020.09.24 자바 웹 개발 개발환경 세팅(4) 이클립스 기본 세팅 (0) 2020.09.23