본문 바로가기
개발

[개발] Maven 의존성 추가

by 공덕뉸나 2024. 5. 28.

대학교 시절에는 Maven을 사용하여 개발을 진행하곤 했었는데 최근 2-3년 뒤는 Gradle을 통해 의존성을 추가하는 방식으로 개발을 진행했었다.

그러다가 얼마 전, 과제테스트를 수행하기 위하여 요구사항을 보는데 Maven을 활용하라고 되어 있어서 오랜만에 사용하게 되었다.

기본적인 의존성은 설정되어 있었고 추가적으로 개발하면서 필요한 의존성들을 내가 추가하는 방식이었다.

 

나는 Swagger, QueryDSL, ModelMapper를 사용하기 위하여 pom.xml에 별도로 의존성을 추가하였다.

 

1. Swagger

<dependency>
	<groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
    <version>2.0.2</version>
 </dependency>

 <dependency>
 	<groupId>org.hibernate.validator</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>8.0.1.Final</version>
 </dependency>

 

 

2. Querydsl

<dependency>
	<groupId>com.querydsl</groupId>
    <artifactId>querydsl-jpa</artifactId>
    <version>5.0.0</version>
    <classifier>jakarta</classifier>
</dependency>
<dependency>
    <groupId>com.querydsl</groupId>
    <artifactId>querydsl-apt</artifactId>
    <version>5.0.0</version>
    <classifier>jakarta</classifier>
</dependency>
 <dependency>
    <groupId>com.querydsl</groupId>
  	<artifactId>querydsl-core</artifactId>
    <version>5.0.0</version>
</dependency>

 

 

플러그인 추가

<plugin>
 	<groupId>com.mysema.maven</groupId>
    <artifactId>apt-maven-plugin</artifactId>
    <version>1.1.3</version>
    <executions>
    	<execution>
        	<goals>
            	<goal>process</goal>
            </goals>
            <configuration>
            	<outputDirectory>target/generated-sources/java</outputDirectory>
                <processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
            </configuration>
    	</execution>
    </executions>
</plugin>

 

3. ModelMapper

<dependency>
	<groupId>org.modelmapper</groupId>
    <artifactId>modelmapper</artifactId>
    <version>3.2.0</version>
</dependency>

 

config

@Configuration
@RequiredArgsConstructor
public class InitBeanConfig {
    @Bean
    public ModelMapper modelMapper() {
        ModelMapper mm = new ModelMapper();
        mm.getConfiguration()
                .setFieldAccessLevel(org.modelmapper.config.Configuration.AccessLevel.PRIVATE)
                .setMatchingStrategy(MatchingStrategies.STRICT)
                .setFieldMatchingEnabled(true);
        return mm;
    }

    @Bean
    public ModelMapperUtil modelMapperUtil() {
        return new ModelMapperUtil(modelMapper());
    }
}

 

Util

public class ModelMapperUtil {

    public static ModelMapper modelMapper;

    public ModelMapperUtil(ModelMapper modelMapper) {
        this.modelMapper = modelMapper;
    }

    public static ModelMapper get() {
        return modelMapper;
    }
}

 

사실 Maven이랑 Gradle에 의존성을 추가하는 방식이 어렵진 않지만 나처럼 Maven을 안쓴 사람이면 하나씩 찾아보면서 개발해야하기 때문에 정리를 해봤다.

 

'개발' 카테고리의 다른 글

[개발] 포인트 만료  (1) 2024.06.03
[개발] 포인트 차감  (0) 2024.05.30
[개발] 총 포인트 조회  (0) 2024.04.17
[개발] 포인트 적립 구현 - 2  (0) 2024.04.16
[개발] 포인트 적립 구현 - 1  (0) 2024.04.15