java project를 gradle 로 변환

NOLEM·2020년 10월 16일
0

IntelliJ IDEA

목록 보기
3/5

다음은 기본적인 java application 프로젝트의 구조이다.

├── resources
└── src
    └── com
        └── company

intelliJ 에서 resources 폴더는 별도로 잡아주었다. ( 그래야 resource 를 읽을 때, NPE가 나지 않음)

gradle init

gradle init 로 gradle 프로젝트 구조로 초기화한다.(maven 과 트리 구조는 동일)
./gradlew run 을 실행하여 Hello world 가 출력되는 걸 확인한다.

Dependency 추가

기존 프로젝트는 결합도를 낮추기 위해 Factory 클래스에서 Properties.load() 로 외부 파일을 읽어와서 Class.forName().newInstance()를 사용하여 인스턴스화하였다.
이번에는 spring ApplicationContext를 적용하여 결합도를 낮춰보기 위해 spring-context dependency를 추가한다.

# build.gradle
plugins {
    id 'java'
    id 'application'
}



repositories {
    mavenCentral()
}

dependencies {
    testImplementation 'junit:junit:4.13'
    implementation 'org.springframework:spring-context:5.0.10.RELEASE'
}

application {
  mainClass = 'com.company.App'
}

이제 기존에 작성했던 프로젝트를 gradle(maven) 구조에 맞게 소스를 재구성한다.

└── src
    ├── main
    │   ├── java
    │   │   └── com
    │   │       └── company
    │   └── resources
    └── test
        ├── java
        │   └── com
        │       └── company
        └── resources

ApplicationContext ctx = new ClassPathXmlApplicationContext("spring/app-context.xml");
spring-context가 제대로 동작하는지 확인한다.

1개의 댓글

comment-user-thumbnail
2021년 3월 17일

완전 찾고 있던건데 감사합니다람쥐~

답글 달기