ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자바 웹 개발 개발환경 세팅(8) Spring Project 2
    Spring 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

     

     

    댓글

Designed by Tistory.