티스토리 뷰

1.    3계층

-      1 ) presentation 계층

-      비즈니스 계층에서 준 데이터를 출력하는 계층 ( 화면에 보여준다. )

-      2 ) Business 계층

-      비즈니스 로직은 화면에 보여주지는 않지만, 비즈니스 로직을 수행하는 모든 객체이다.

-      Persistence 계층에서 데이터를 받아 온다.

-      3 ) Persistence 계층

-      DB 테이블을 조작하는 모든 객체로, 데이터를 영구적으로 가지고 있는 계층이다.

-      + JDBC는 비즈니스 계층과 영속성 계층 사이에서 연결을 제공하는 드라이버이다.

 

2.    POM파일에서 사용되는 태그

-      1 ) <name> : 프로젝트의 이름

-      2 ) <groupId> : 프로젝트의 그룹 ID 이름 설정

-      3 ) <artifactId> : 프로젝트의 Artifact ID 이름 설정

-      4 ) <version> : 버전 설정

-      5 ) <scope> : 유효범위를 설정

-      6 ) <dependencies> : 이 프로젝트에서 의존하는 다른 프로젝트 정보를 기술한다. ( 그룹 )

-      7 ) <dependency> : 의존하는 프로젝트 POM 정보를 기술 ( dependencies 소속 )

 

3.    <dependency>? ( 의존이란? )

-      Maven을 사용하여 코드에 필요한 라이브러리를 각각 다운받는 것이 아니라 <dependency>를 통해서 코드에서 직접적으로 사용하는 모듈에 대한 의존만 추가해서 사용하는 것이다.


[ 1. maven - pom.xml 설정 ] (***)

 

<?xml version="1.0" encoding="UTF-8"?>


<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>org.zerock</groupId>
  <artifactId>JDBCExamples</artifactId>
  <version>0.0.1-SNAPSHOT</version>

  <packaging>jar</packaging>

  <name>JDBCExamples</name>
  <url>http://maven.apache.org</url>  
  <description>Good!!!</description>


  <properties>
    <java-version>17</java-version>
    <java-home>${env.JAVA_HOME}</java-home>
    <!-- ${env.}는 환경변수를 넣을 때 사용한다. -->
    
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  

  <dependencies>

    <!-- 1. junit : Test Framework -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.13.2</version>

      <scope>test</scope>
      <!-- scope는 유효범위를 지정해준다. (test는 test할 때만 사용가능한 라이브러리라는 의미이다.) -->
    </dependency>

    <!-- 2. lombok -->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.24</version>

        <scope>provided</scope>
    </dependency>

    <!-- 3. log4j-core : 로그레벨 -->
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.17.2</version>

        <!-- scope는 생략이 가능하며, 생략시에는 기본적으로 컴파일로 취급된다. -->
    </dependency>

    <!-- 4. log4jdbc-log4j2-jdbc4.1 -->
    <dependency>
      <groupId>org.bgee.log4jdbc-log4j2</groupId>
      <artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
      <version>1.16</version>
    </dependency>

    <!-- 원하는 라이브러리가 있으면, mvnrepository에 와서 이름과 버전을 알아가야 한다. -->

    <!-- ============= Oracle JDBC (*****) ============= -->

    <dependency>
      <groupId>com.oracle.database.jdbc</groupId>
      <artifactId>ojdbc8-production</artifactId>
      <version>21.5.0.0</version>

      <type>pom</type>

      <!-- Oracle JDBC 라이브러리가 필요로 하지 않는 하위 dependency(***) -->

      <exclusions>
        <!-- 밑의 dependency를 제외시킨다. -->
        <exclusion>
          <groupId>com.oracle.database.ha</groupId>
          <artifactId>simplefan</artifactId>
        </exclusion>

        <exclusion>
          <groupId>com.oracle.database.ha</groupId>
          <artifactId>ons</artifactId>
        </exclusion>

        <exclusion>
          <groupId>com.oracle.database.jdbc</groupId>
          <artifactId>rsi</artifactId>
        </exclusion>

        <exclusion>
          <groupId>com.oracle.database.jdbc</groupId>
          <artifactId>ucp</artifactId>
        </exclusion>

        <exclusion>
          <groupId>com.oracle.database.xml</groupId>
          <artifactId>xdb</artifactId>
        </exclusion>

        <exclusion>
          <groupId>com.oracle.database.xml</groupId>
          <artifactId>xmlparserv2</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

  </dependencies>


  <build>

    <plugins>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.10.1</version>

        <configuration>
          <release>${java-version}</release>
        </configuration>
      </plugin>

    </plugins>

  </build>
  
</project>
728x90
댓글
«   2025/06   »
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
최근에 올라온 글
Total
Today
Yesterday
공지사항