source

공통 라이브러리를 만드는 스프링 부트 사용 방법

ittop 2023. 3. 28. 22:35
반응형

공통 라이브러리를 만드는 스프링 부트 사용 방법

이제 시스템용 공통 메일 서비스를 개발하고 싶습니다.델은 디자인하면서RabbitMQ생산자와 소비자.소비자측에서, 델은, 델의 IT프로세서(IT)를 개발 및 도입할 수 있습니다.Spring Boot또는Spring Cloud어플리케이션입니다만, 생산자측에서는, 이하의 인터페이스와 같은 공통의 메일 클라이언트를 제공해, 다른 시스템에 대한 jar 의존성을 만들고 싶습니다.

interface MailClient {
  ListentableFuture send(Message message);
}

단, 스프링 부트 및 스프링 클라우드는 많은 선언적 방법을 사용하고 있으며 애플리케이션 클래스를 사용해야 할 것 같지만 클래스 참조만 원할 뿐 배포는 필요하지 않습니다.나는 그것을 어떻게 구현해야 할지 모른다.

레몬이 이에 대한 좋은 예가 될 것이다.Spring Boot을 사용하며 다른 Spring Boot 어플리케이션에 포함되도록 되어 있습니다.작성 방법은 다음과 같습니다.

  1. STSSpring Boot Starter 마법사를 사용하여 Spring Boot 어플리케이션 생성.
  2. 생성된 어플리케이션과 테스트 클래스를 삭제.
  3. 제거된spring-boot-maven-plugin예를 들어 pom.xml의 빌드 섹션과 pluginRepository 섹션입니다.(이 섹션이 없으면 pom.xml이 어떻게 표시되는지 참조).

스프링 문서에서는 이 문제를 정확하게 해결하고 스프링 부트를 사용하여 공통 라이브러리를 구현하는 올바른 방법을 보여 줍니다.

https://spring.io/guides/gs/multi-module/

설명서에 기재되어 있는 바와 같이:Spring Boot Maven 플러그인은 사용되지 않지만 Spring Boot 의존관계 관리를 활용할 필요가 있습니다.

저도 귀사와 같은 요구를 가지고 있었기 때문에, 지금까지 다음과 같은 구성으로 다른 프로젝트에서 사용할 수 있는 라이브러리를 구축할 수 있었습니다.

`

<modelVersion>4.0.0</modelVersion>
<groupId>mx.grailscoder</groupId>
<artifactId>library</artifactId>
<version>1.0-SNAPSHOT</version>
<name>My Custom Library built on Spring Boot</name>
<description>Spring Boot Project library</description>
<packaging>jar</packaging>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.4.RELEASE</version>
</parent>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>${spring.version}</version>
        <scope>test</scope>
    </dependency>
</dependencies>
<properties>
    <java.version>1.8</java.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <logentries-appender>RELEASE</logentries-appender>
</properties>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                    <configuration>
                        <skip>true</skip>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

`

중요한 건 내가 그 일을 건너뛰었다는 거야repackage내 라이브러리에는 메인 클래스가 없었기 때문에 작업을 수행했습니다.mvn install작업은 실패하지 않습니다.

설명서에 따르면:

Spring Boot을 사용하면 '그냥' 실행할 수 있는 독립 실행형, 운영 등급의 Spring 기반 애플리케이션을 쉽게 만들 수 있습니다.

그러나 Spring Boot가 모든 상황에 적합한 것은 아닙니다.라이브러리를 만들고 싶은 경우 항아리를 작성하여 회사의 저장소에 저장하는 일반 스프링 프로젝트를 만들 수 있습니다.

언급URL : https://stackoverflow.com/questions/32696080/how-to-use-spring-boot-making-a-common-library

반응형