[java] Java Jersey에서 Spring Boot와 함께 사용하는 방법은?

Java Jersey는 웹 애플리케이션 개발을 위한 프레임워크로, Spring Boot는 자바 기반의 웹 애플리케이션 개발을 간편하게 만들어주는 도구입니다. 이번 글에서는 Java Jersey와 Spring Boot를 함께 사용하는 방법에 대해 알아보겠습니다.

종속성 추가하기

먼저, Java Jersey와 Spring Boot를 함께 사용하기 위해 종속성을 추가해야 합니다. pom.xml 파일에 다음 종속성을 추가합니다:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jersey</artifactId>
</dependency>

위 종속성은 Spring Boot와 Jersey를 함께 사용할 수 있도록 도와줍니다.

Jersey 설정하기

Spring Boot는 자동 구성 기능을 제공하기 때문에 별도의 설정 없이도 Jersey를 사용할 수 있습니다. 하지만, 일부 설정을 추가하고 싶을 경우 ResourceConfig 클래스를 확장하여 구성을 할 수 있습니다. 예를 들어, 다음과 같이 ResourceConfig 클래스를 만들고 필요한 설정을 추가합니다:

import org.glassfish.jersey.server.ResourceConfig;
import org.springframework.context.annotation.Configuration;

@Configuration
public class JerseyConfig extends ResourceConfig {
    public JerseyConfig() {
        register(MyResource.class);
    }
}

위 예제에서 MyResource는 Jersey에서 사용할 컨트롤러 클래스입니다. 이렇게 ResourceConfig 클래스를 사용하여 Jersey 구성을 직접 관리할 수 있습니다.

컨트롤러 만들기

Jersey에서 컨트롤러는 HTTP 요청을 처리하는 핸들러입니다. Spring Boot와 함께 Jersey를 사용하는 경우, 코드는 일반적인 Spring MVC 컨트롤러와 유사합니다. 예를 들어, 다음과 같이 컨트롤러를 작성할 수 있습니다:

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

@Path("/hello")
public class MyResource {
    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String sayHello() {
        return "Hello, Jersey!";
    }
}

위 예제에서는 /hello 경로로 GET 요청을 받으면 “Hello, Jersey!”를 반환하는 간단한 컨트롤러를 작성했습니다.

실행하기

이제 Java Jersey와 Spring Boot를 함께 사용하도록 설정했으므로 애플리케이션을 실행할 준비가 되었습니다. Spring Boot 애플리케이션을 실행하면 Jersey가 자동으로 구성되어 필요한 URL 매핑과 요청 처리를 담당합니다.

메인 애플리케이션 클래스에 @SpringBootApplication 어노테이션을 추가하고 main 메서드를 작성하여 애플리케이션을 실행할 수 있습니다:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MyApplication {
    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }
}

애플리케이션을 실행하고 브라우저에서 http://localhost:8080/hello를 열면 “Hello, Jersey!” 메시지를 볼 수 있습니다.

이렇게 Java Jersey와 Spring Boot를 함께 사용하여 웹 애플리케이션을 개발할 수 있습니다. 이 두 프레임워크를 조합하면 효율적이고 강력한 웹 개발 경험을 제공할 수 있습니다.

참고 자료