다른 Git Repository를 끌어다 사용하기

jinvicky (남궁진)·2023년 11월 2일

Cs

목록 보기
4/6

Overview


간단하게 도메인을 정의한 git repository를 애플리케이션 쪽에서 어떻게 가져오는 지를 정리했다.

왜 도메인 repository를 별도로 두지?


git에서 도메인(dto, vo)들로만 구성한 repository를 별도로 분리하는 이유는 여러 서비스에서 동일한 도메인을 사용해야 하기 때문이다.

Q. 내부에서 각각 dto, vo를 만들어서 사용하면 안되나?

A. 안된다. 설령 내용이 완전히 동일하더라도 Java 버전 호환성이 맞지 않기 때문이다.
자바 클래스 내부에서 serializable을 사용하는 경우가 있다.

    public class UserVo implements Serializable{

        private static final long serialVersionUID = 2868210232929931052L;
        private String userName;
        private int userAge;
        ...
    }

serialVersionUID를 사용하는 이유도 단순히 클래스Name으로 찾는 것보다 더 정확하기 때문이라고 한다.

어떻게 가져와서 사용하지?


  1. 해당 도메인 repository를 jar 파일로 묶어서 Nexus에 등록한다.
  2. 사용하고자 하는 애플리케이션 프로젝트에서 build.gradle 등에 jar를 dependency 등록을 한다.

JAR는 자바 클래스, 관련 리소스(텍스트 등) 및 메타 데이터를 응용 소프트웨어나 라이브러리를 배포하기 위한 소프트웨어 패키지 파일 포맷이다.
보통 build를 해서 jar 파일이 생성한다.

repositories {
    mavenCentral()
    maven {
      // 여기에 작성된 repository에서 가져온다. 구성서버 Nexus
    }
}

mavenCentral()은 우리가 스프링에서 의존성 주입을 위해 이용하는 maven repository를 의존성 관련으로 default(기본)으로 고려하겠다는 뜻이다.
보통 maven에서 땡겨와서 쓰니 어찌보면 당연하다.

내부에 maven {}을 선언해서 땡겨올 repository 정보를 작성한다.

Q. 정적 리소스(css,js, jquery 등)의 경우 어떻게 해야할까?

webjars를 사용한다.

webjars는 jar 파일로 front쪽 리소스를 가져오게 하는 라이브러리이다.
빌드를 하면 /resources 경로에 webjars라는 경로로 라이브러리가 압축이 풀린다.


위는 vue와 연동하는 프로젝트의 html이다.
vue를 사용한 ui repository 내용?을 webjars에 등록하면, webjars에서 css 등을 가져오기 때문에 시작 경로가 /webjars임을 확인할 수 있다.

Reference

https://luvstudy.tistory.com/136

profile
하나씩 차근차근하게 하자:)

0개의 댓글