Spring Web MVC: 6개의 글
[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 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] 데이터 바인딩 - PropertyEditor, Converter 그리고 Formatter 1. Data Binding(데이터 바인딩)의 정의 📝 데이터 바인딩 웹에서 사용자가 입력하여 전달되는 값은 주로 문자열이며, 웹 어플리케이션에서는 이 문자열을 도메인 객체의 프로퍼티 타입(int, date, boolean, ... 또는 도메인 객체 타입 그 자체)으로 변환이 필요하다. 이렇게 사용자가 입력한 문자열 값을 프로퍼티 타입에 맞춰 변환하여 할당하는 것을 데이터 바인딩이라 한다. 2. Spring의 데이터 바인딩 Spring은 데이터 바인딩 기능을 여러 인터페이스로 추상화하여 제공한다. 데이터 바인딩 인터페이스는 주로 웹 MVC에서 사용하지만 web에 국한되어 특화된 기능이 아니라 여러 곳..
[Spring] 스프링 PSA 1. PSA(Portable Service Abstraction) Spring은 Spring Triangle이라고 부르는 세 가지 개념을 제공해준다. 각각 IoC, AOP, PSA를 일컫는다. Spring의 PetClinic 예제를 보면 서블릿 어플리케이션임에도 불구하고 서블릿이 전혀 존재하지 않는다. 단지 @Controller 애노테이션이 붙어있는 클래스에서 @GetMapping, @PostMapping과 같은 @RequestMapping 애노테이션을 사용해서 요청을 매핑한다. 실제로는 내부적으로 서블릿 기반으로 코드가 동작하지만 서블릿 기술은 추상화 계층에 의해 숨겨져 있는 것이다. 이렇게 추상화 계층을 사용해서 어떤 기술을 내부에 숨기고 개발자에게 편의성을 제공해주는 ..