ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Spring MVC 기본 설정 01 - 기본적인 pom.xml dependency 목록
    Java/Spring 2018. 12. 19. 12:35

    이번 글에서는 Spring MVC 프로젝트를 생성할 때 사용되는 dependency들의 목록들을 나열할 예정이다.


    이 글은 추가적으로 계속 업데이트를 하면서 초기 프로젝트 셋팅을 할때 시간을 단축 시기 위해서 작성하는 글이다.


    아래 나열한 dependency들을 추가할 예정이다.



    • Dependency 목록

      • Spring-webmvc
        : Spring mvc 프로젝트를 하기위해선 추가해야할 기본적인 dependency이다.

      • spring-tx
        : spring transaction을 사용하기위한 dependency이다.

      • spring-orm
        : jpa를 사용하고자 할때 추가해야하는 dependency이다.

      • hibernate-core
        : jpa를 사용하고 hibernate를 사용하고자 할때 추가하는 dependency이다.

      • hibernate-c3p0 
        : db connection pool로 c3p0를 사용하고자 할때 사용하는 dependency이다.

      • c3p0
        : dpcp 라이브러리인 c3p0 dependency이다.

      • hibernare-validator
        : entity에서 데이터의 유효성 검증을 하기 위한 dependency이다.

      • javax.servlet.jsp.jstl-api
        : front end 단에서 jstl을 사용하기 위한 dependency이다.

      • standard
        : taglib를 사용하기 위한 dependency이다.

      • javax.servlet-api
        : servlet dependency 이다.

      • javax.servlet.jsp-api
        : JSP dependency 이다.

      • com.fasterxml.jackson.core
        : Json converter 로 RESTful api를 작성할때 json데이터를 변환하고 결과를 json 데이터로 전송해주기 위해 필요한 dependency이다. 

      • mysql
        : database로 mysql을 사용하기 위한 connector-J dependency 이다.

      • jUnit
        : 당장은 사용안하지만 후에 unit 테스트를 하기위한 dependency이다.


    추가적인 dependency는  https://mvnrepository.com/ 경로에서 검색을 해보면 메이븐 프로젝트에서 추가해야할 dependency형식을 확인할 수 있다.


    pom.xml 소스

    위에 나열한 대로 작성한 pom.xml dependency이다.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.pang</groupId>
        <artifactId>pangs-spring-mvc</artifactId>
        <version>1.0.0</version>
        <packaging>war</packaging>
     
        <properties>
            <springframework.version>5.0.6.RELEASE</springframework.version>
            <hibernate.version>5.2.16.Final</hibernate.version>
            <hibernate.validator>5.4.1.Final</hibernate.validator>
            <c3po.version>0.9.5.2</c3po.version>
            <jstl.version>1.2.1</jstl.version>
            <tld.version>1.1.2</tld.version>
            <servlets.version>3.1.0</servlets.version>
            <jsp.version>2.3.1</jsp.version>
            <mysql.connector.version>8.0.13</mysql.connector.version>
            <jackson.databind.version>2.9.5</jackson.databind.version>
            <junit.version>3.8.1</junit.version>
     
            <maven.compiler.source>1.8</maven.compiler.source>
            <maven.compiler.target>1.8</maven.compiler.target>
         </properties>
     
        <dependencies>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>${springframework.version}</version>
            </dependency>
            
              <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-tx</artifactId>
                <version>${springframework.version}</version>
            </dependency>
      
              <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-orm</artifactId>
                <version>${springframework.version}</version>
            </dependency>
            
            <!-- Hibernate -->
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-core</artifactId>
                <version>${hibernate.version}</version>
            </dependency>
            
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-c3p0</artifactId>
                <version>${hibernate.version}</version>
            </dependency>
            
            <!-- C3PO -->
            <dependency>
                <groupId>com.mchange</groupId>
                <artifactId>c3p0</artifactId>
                <version>${c3po.version}</version>
            </dependency>
            
            <!-- Hibernate Validator -->
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-validator</artifactId>
                <version>${hibernate.validator}</version>
            </dependency>
            
            <!-- JSTL Dependency -->
            <dependency>
                <groupId>javax.servlet.jsp.jstl</groupId>
                <artifactId>javax.servlet.jsp.jstl-api</artifactId>
                <version>${jstl.version}</version>
            </dependency>
            
            <dependency>
                <groupId>taglibs</groupId>
                <artifactId>standard</artifactId>
                <version>${tld.version}</version>
            </dependency>
            
            <!-- Servlet Dependency -->
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>${servlets.version}</version>
                <scope>provided</scope>
            </dependency>
     
            <!-- JSP Dependency -->
            <dependency>
                <groupId>javax.servlet.jsp</groupId>
                <artifactId>javax.servlet.jsp-api</artifactId>
                <version>${jsp.version}</version>
                <scope>provided</scope>
            </dependency>
            
            <!-- MySQL -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql.connector.version}</version>
            </dependency>
            
            <!-- Add Jackson for JSON converters -->
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${jackson.databind.version}</version>
            </dependency>
            
            <!-- junit Dependency -->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
        
        <build>
     
            <sourceDirectory>src/main/java</sourceDirectory>
            <resources>
                <resource>
                    <directory>src/main/resources</directory>
                </resource>
            </resources>
            <plugins>
                <!-- Builds a Web Application Archive (WAR) file from the project output 
                    and its dependencies. -->
                <plugin>
                    <!-- Add Maven coordinates (GAV) for: maven-war-plugin -->
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>3.2.0</version>
                </plugin>
     
            </plugins>
        </build>
    </project>
     
    cs


    댓글

Designed by Tistory.