STS에서 Gradle로 Spring MVC 적용하기 #3 자바파일 설정하기STS에서 Gradle로 Spring MVC 적용하기 #3 자바파일 설정하기
Posted at 2015. 6. 20. 08:45 | Posted in Spring/Gradle
Gradle 기본 프로젝트로 만들고나서 기본 패키지 및 파일들을 지저분해서 지웠고, 새로 만들겠습니다.
저는 패키지 메인을 com.gradle.mvc 로 만들겠습니다.
그리고, 그 com.gradle.mvc 안에 컨트롤러 파일인 HomeController.java를 만들어줍니다.
package com.gradle.mvc; import java.text.DateFormat; import java.util.Date; import java.util.Locale; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @Controller public class HomeController { private static final Logger logger = LoggerFactory.getLogger(HomeController.class); @RequestMapping(value = "/", method = RequestMethod.GET) public String home(Locale locale, Model model) { logger.info("Welcome home! The client locale is {}.", locale); Date date = new Date(); DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale); String formattedDate = dateFormat.format(date); model.addAttribute("serverTime", formattedDate ); return "home"; } }
그러고나서 다시 설정정보를 가질 패키지인 com.gradle.mvc.config 를 만들어줍니다. (아까 패키지 한꺼번에 안만든건 패키지안에 내용물없이 다른 패키지 만드니까 사라져서 그랬습니다. 상위 패키지명이 같으면 자동으로 사라지나 봅니다.)
com.gradle.mvc.config 패키지 안에는 AppConfig.java와 AppInitializer.java 파일 2개를 만듭니다.
먼저 AppConfig.java 를 아래와 같이 만들겠습니다.
컨트롤러에서 편하게 jsp와 맵핑시키기 위해 ViewResolver함수와
리소스 인식을 위한 addResourceHandlers 함수를 작성합니다.
package com.gradle.mvc.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.ViewResolver; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; import org.springframework.web.servlet.view.InternalResourceViewResolver; import com.gradle.mvc.HomeController; @Configuration @EnableWebMvc public class AppConfig extends WebMvcConfigurerAdapter { @Bean public HomeController homeController(){ return new HomeController(); } @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { // TODO Auto-generated method stub registry.addResourceHandler("/resources/**").addResourceLocations( "/resources/"); } @Bean public ViewResolver getViewResolver() { InternalResourceViewResolver resolver = new InternalResourceViewResolver(); resolver.setPrefix("/WEB-INF/views/"); resolver.setSuffix(".jsp"); return resolver; } }
그리고 AppInitializer.java 를 아래와 같이 만듭니다.
AppInitializer 에서는 DispatcherServlet 을 설정시켜줍니다.
이제 다 끝났습니다. 빌드해서 톰캣으로 돌려봅니다.
잘 되는것을 확인할 수 있습니다. 첨에 잘 몰라서 어색하고 그런데 확실히 메이븐보다 가벼워보이고 자바파일 수정할때마다 빌드 안해도 되는것 같습니다. build.gradle 이 수정될때만 해주면 될것같은데.. (걍 느낌상입니다.... 잘 모르겠습니다ㅋ) 그냥 Run on Server 하니까 바로바로 적용되더군요. 너무 편해서 이제 메이븐 당분간 안쳐다볼것 같습니다.
이상으로 STS에서 Spring MVC를 Gradle로 적용하는것 마치겠습니다.
'Spring > Gradle' 카테고리의 다른 글
STS에서 Gradle로 Spring MVC 적용하기 #2 프로젝트 생성 및 build.gradle 설정 및 JSP파일 생성 (1) | 2015.06.19 |
---|---|
STS에서 Gradle로 Spring MVC 적용하기 #1 도구 설치 및 설정하기 (0) | 2015.06.18 |
그래들 Gradle 설치 및 환경변수 설정 (0) | 2015.06.14 |