Spring Framework: 317개의 글

[Spring Boot/Spring Web MVC] ViewController를 이용해서 뷰 매핑하기 @GetMapping("/hello") public String hello() { return "hello"; } 위와 같이 특정 요청 url에 대해 컨트롤러 로직 없이 바로 뷰를 리턴하는 경우 ViewController를 사용해서 뷰를 매핑할 수 있다. @Configuration public class WebConfig implements WebMvcConfigurer { @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addViewController("/hello").setViewName("hell..

[Spring Boot] ApplicationRunner 등록 방법 정리 1. 별도의 클래스에 @Component 붙여서 등록하기 import org.springframework.boot.ApplicationArguments; import org.springframework.stereotype.Component; @Component public class ApplicationRunner implements org.springframework.boot.ApplicationRunner { @Override public void run(ApplicationArguments args) throws Exception { // 코드 작성 } } 2. @Configuration 클래스에 @Bean으로 직접 등록하기 ..

스프링 부트 테스트 - 내장 서버 랜덤 포트로 띄우기 👉 Dependency spring-boot 2.2.5.RELEASE junit 4.12 @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) public class WebtoonApiControllerTest { @LocalServerPort private int port; @Test public void printPort() throws Exception { System.out.println(port); assertNotEquals(port, 0); } @Autowired private TestRestTemplate..

스프링 부트의 의존성 관리(Dependency Management) 기본적인 스프링 부트 프로젝트의 pom.xml 파일을 보면 의존성 설정이 spring-boot-starter-web과 spring-boot-starter-test 두 개 뿐이고 버전 또한 명시하지 않고 있지만 수 많은 라이브러리들을 알아서 가져온다. org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test org.junit.vintage junit-vintage-engine 이것이 가능한 이유는 스프링 부트가 제공하는 의존성 관리 기능 때문이다. 기본 스프링 부트 프로젝트는 spring-boot-starter-..

스프링 부트 프로젝트 만들기 - Spring Initializr 웹 도구 사용 스프링 프로젝트를 만드는 방법 중에는 Spring에서 제공하는 Spring Initializr 웹 도구를 사용하는 간편한 방법이 있다. https://start.spring.io/ 에 접속하자. 위 주소로 들어가면 이런 화면이 보일것이다. 시간이 흐름에 따라 UI는 바뀔 수 있다. 선택해야하는 옵션은 차례로, Project: 사용할 빌드 툴 선택 (Maven/Gradle) Maven, Gradle은 프로젝트에 필요한 의존성을 관리하고 빌드 라이프사이클을 관리해주는 툴이다. 과거에는 Maven을, 최근에는 Gradle을 사용하는 추세이다. 스프링 라이브러리 관리 자체도 최근에는 Gradle로 하고 있다. Language: 언어 ..

Spring MVC - @PropertySource 사용 중 FileNotFoundException: Could not open ServletContext resource 에러 ⚙️ Spring Web MVC 5.2.6.RELEASE 스프링 웹 MVC 프로젝트에서 프로퍼티를 사용하다가 다음과 같은 에러가 발생하였다. java.io.FileNotFoundException: Could not open ServletContext resource [/properties/data1.properties] 프로젝트의 프로퍼티 파일 위치는 src/main/resources/properties/data1.properties 메이븐 프로젝트이기 때문에 빌드하면 resources 내의 파일들이 classpath로 복사된다...

[IntelliJ] Spring Web MVC 프로젝트 생성 및 세팅 - 자바 설정 사용 1. 프로젝트 생성 새로운 Maven 프로젝트를 생성한다. Create from archetype 체크, maven-archetype-webapp을 선택하고 Next 클릭 프로젝트 정보 입력하고 Next 클릭 사용할 Maven 선택 후 Finish 클릭 기본으로 생성되는 pom.xml 4.0.0 com.atoz_develop project03 1.0-SNAPSHOT war project03 Maven Webapp http://www.example.com UTF-8 1.7 1.7 junit junit 4.11 test project03 maven-clean-plugin 3.1.0 maven-resources-plugi..

[IntelliJ] Spring Web MVC 프로젝트 생성 및 세팅 - XML 설정 사용 💡 버전 : JDK8 / Spring MVC 5.2.6.RELEASE / Tomcat 9 1. 프로젝트 생성 새로운 Maven 프로젝트를 생성한다. Create from archetype 체크, maven-archetype-webapp을 선택하고 Next 클릭 프로젝트 정보 입력하고 Next 클릭 사용할 Maven 선택 후 Finish 클릭 기본으로 생성되는 pom.xml 4.0.0 com.atoz_develop project03 1.0-SNAPSHOT war project03 Maven Webapp http://www.example.com UTF-8 1.7 1.7 junit junit 4.11 test proje..

[Spring MVC] Static Resources(정적 리소스) 설정 방법 스프링 MVC 웹 프로젝트는 정적 리소스를 두 가지 방법으로 설정할 수 있다. 스프링 XML 설정을 사용하는 방법과 WebMvcConfigurer 인터페이스를 사용하는 방법이다. 위와 같은 프로젝트 구조에서 {프로젝트 루트}/src/main/webapp/resources 위치의 정적 리소스를 설정한다고 가정해보자. 이 resources 디렉토리는 다음과 같이 스프링 웹 어플리케이션의 정적 리소스로 설정할 수 있다. 1. 스프링 MVC 정적 리소스 XML 설정 방법 프로젝트에서 사용하는 스프링 XML 설정 파일에(servlet-context.xml ...) 다음 태그를 추가한다. 스프링 IoC 컨테이너 XML 설정 파일 mapp..

[IntelliJ] 스프링 부트 없이 스프링 웹 MVC 프로젝트 만들고 설정하기 ※ 사용 IDE : IntelliJ IDEA 2019.3 Ultimate 1. 새 프로젝트 생성 사용하는 빌드툴(Maven, Gradle) 기반의 프로젝트를 생성한다. 새 프로젝트를 생성한다. 1) 사용할 빌드툴 선택 - 이 글에서는 Maven을 사용하겠습니다. 2) 사용할 JDK 선택 3) Next 클릭 프로젝트 정보를 입력하고 Finish를 클릭해서 프로젝트 생성을 완료한다. 2. 프로젝트 세팅 1. Java Compiler 버전 변경 2. 프로젝트에 Web Facet 추가 3. war packaging 설정 Maven 프로젝트를 생성하면 기본 Java Compiler 버전이 1.5로 되어있기 때문에 변경이 필요하다. S..