이 시리즈에서는 REST API를 도입한 web application을 Spring에서 어떻게 개발하는지에 대해 알아볼거다. 이를 본격적으로 들어가기 전에 이 글에서는 web application을 만들기 위한 기본 설정을 어떻게 하는지 알아볼 것이다.
Spring Boot를 사용하는 법과 순수 Spring을 사용하는 법, 이 2가지를 알아볼 것이다.
starter-web
.<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
@SpringBootApplication
이 annotate된 main clas를 만드는 것이다.@SpringBootApplication
public class SpringBootRestApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootRestApplication.class, args);
}
}
아직 Spring Boot에 대해 자세히 설명한 적이 없는데, 위와 같이 하면 알아서 configuration도 하고 필요한 component bean들도 생성한다. 위 annotation에 대한 설명은 이 글 참고
위에서 자동으로 configuration에 필요한 bean들을 생성해주긴하나, 프로그래머가 거기에 더불어 직접 configuration을 추가하는 것이 가능하다. 아니면 자동 configuration에서 설정하지 않는 bean들을 따로 정의하거나. 그 경우 @Configuration
annotation을 덧붙여가지고 @Bean
method들을 만들면 된다. @Configuration
으로 annotate된 class에도 @Component
가 달려있기 때문에 위의 @SpringBootApplication
내 @ComponentScan
에서 탐색이 가능하기에 이 방식이 가능하다는 점 참고.
@Configuration
public class WebConfig {
}
spring-webmvc
를 dependency에 추가해야 한다. Gradle도 유사하다는 점 참고.<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.3</version>
</dependency>
이후 3.2와 3.3부분은 이전에 Spring MVC 시리즈에서 배웠던 내용과 비슷하게 코딩을 하면 된다.
자세한 설명은 이 글을 참고하면 된다.
WebConfig
class를 만드는 대신에 다음과 같은 xml을 만들어도 동작이 가능하다.<context:component-scan base-package="com.baeldung.controller" />
<mvc:annotation-driven />