크리스피코드
'Java/Spring Framework' 카테고리의 글 목록 (3 Page)

Java/Spring Framework

Java/Spring Framework

[Spring Framework] @Mapping 어노테이션의 consumes와 procedures

@Mapping 어노테이션에는 consumes와 procedures라는 설정이 존재한다. @GetMapping(value="/hello", consumes=MediaType.APPLICATION_JSON_UTF8_VALUE) public String get(){ return "get"; } consumes HTTP 요청 헤더에 데이터 타입을 설정한다. 예를들어 consumes=MediaType.APPLICATION_JSON_UTF8_VALUE일 경우, 요청 헤더가 "Content-Type: application/json;charset=UTF-8"인 것만 처리한다. 만약 그 이외의 데이터 타입으로 요청이 들어올 경우 HttpMediaTypeNotSupportedException이 발생한다. procedur..

Java/Spring Framework

[Spring Framework] @GetMapping과 @PostMapping

@GetMapping("/hello") public String get(){ return "get"; } @PostMapping("/hello") public String post(){ return "post"; } @GetMapping과 @PostMapping은 기존의 @RequestMapping을 대체할 수 있는 어노테이션이다. @RequestMapping(value="url", method=RequestMethod.방식)에 비해 길이가 훨씬 줄어들었고, 어노테이션 이름에 이미 요청 방식에 대해 나와있기 때문에 가독성면에서도 더 나을 듯 하다. @GetMapping이나 @PostMapping 외에도 REST API 등에 사용되는 Put이나 Delete를 위한 어노테이션도 존재한다.

Java/Spring Framework

[Spring Framework] 파일 업로드

0. 준비 이번 파일 업로드 실습의 경우 commons-fileupload를 사용했다. commons-fileupload commons-fileupload 1.3.3 commons-io commons-io 2.11.0 의존성 추가 후에는 servlet-context.xml에 CommonsMultipartResolver 빈을 생성하고 기본 설정을 해주어야한다. 클라이언트에서는 form 태그의 enctype을 multipart/form-data로 설정해야한다. 이는 form 태그 안의 문자를 인코딩하지 않고 2개 이상의 데이터 타입을 하나의 HTTP Request Body에 구분해서 넣겠다는 의미이다. 글쓰기 제목 내용 뒤로가기 1. 단일 파일 업로드 업로드하는 파일이 1개일 경우 MultipartFile ..

Java/Spring Framework

[Spring Framework] Interceptor로 로그인 여부 확인하기

0. Interceptor란? 인터셉터(Interceptor)는 intercept(가로채다) 라는 뜻에서 알 수 있듯, 컨트롤러로 들어오는 요청(Request)과 응답(Response)을 가로채는 역할을 한다. 어떻게보면 필터(Filter)와 같은 역할을 하는 것 같지만 요청, 응답을 가로채는 위치와 설정 방법이 다르다. 필터의 경우 Spring의 영역이 아닌 Tomcat, 즉 WAS의 영역에서 요청와 응답을 인터셉터나 AOP보다도 가장 먼저 맞이한다. 인터셉터의 경우 Dispatcher Servlet와 Controller 사이에서 요청과 응답을 가로챈다. 필터는 Filter 인터페이스를 구현하여 처리해야하는 작업을 정의할 수 있다. 인터셉터의 경우 HandlerInterceptor 등을 통해 기능을 구..

Java/Spring Framework

[Spring Framework] Spring Legacy Project의 xml 파일들

0. pom.xml - Maven을 사용한 라이브러리 및 플러그인 추가 등에 사용 4.0.0 kr.or ddit springProj war 1.0.0-BUILD-SNAPSHOT 1.8 5.2.5.RELEASE 1.6.10 1.6.6 org.mybatis mybatis 3.5.10 1. web.xml src/main/webapp/WEB-INF/spring/web.xml - 설정을 위한 설정 파일 - Tomcat과 같은 WAS(Web Application Server)가 최초로 구동될 때 실행 - root-context.xml의 경로 지정 - DispatcherServlet을 정의하고 서블릿 설정 파일인 servlet-context.xml 파일의 경로를 설정 - 그 외 , 설정 contextConfigLoc..

Java/Spring Framework

[Spring Framework] 핵심 개념

1. 의존성 주입 (Dependency Injection) - 스프링에서는 개발자가 객체를 직접 생성하지 않는다. - xml 파일에서 bean을 설정해놓으면 @AutoWired로 연결된 각 변수에 알맞은 bean을 주입한다. - 객체 생성과 관리를 개발자가 아닌 스프링이 하는데, 이 방식을 "제어 역행(Inversion of Control)"이라고도 한다. 2. 관점 지향 프로그래밍 (Aspect Oriented Programming) - 횡단 관심사 (cross-cutting concern)의 분리를 허용하여 모듈성 증가시키는 것이 목적인 것인 프로그래밍 패러다임 - 로그, 보안, 트랜잭션, 에러 등 핵심 관심사(Core Concern)에서 공통으로 사용되는 로직을 외부로 빼내어 공통 모듈로 생성 3...

Java/Spring Framework

[Spring Framework] MyBatis 연동하기

1. 라이브러리 등록 - mvnrepository mvnrepository.com 에서 mybatis를 검색한다. 클릭하면 다음과 같이 버전들이 나온다. 사용하고자 하는 버전을 선택한다. 버전을 선택하면 다음과 같이 라이브러리 상세 정보가 나오는데 하단의 Maven에 있는 구문을 복사한다. pom.xml에 해당 구문을 붙여넣기한다. 다른 라이브러리도 동일하게 pom.xml에 등록하면 된다. 2. pom.xml 작성 pom.xml의 안에 다음과 같이 추가한다. org.mybatis mybatis 3.5.10 org.mybatis mybatis-spring 2.0.4 org.springframework spring-jdbc ${org.springframework-version} org.apache.commo..

Java/Spring Framework

[Spring Framework] Eclipse 스프링 STS 설정하기

0. Spring Tools 3 (Standalone Edition) 설치 Help - Eclipse Marketplace - Spring Tools 3 설치 1. 프로젝트 폴더 생성 Project Explorer에서 우클릭 - New - Project - Spring Legacy Project Templates 에서 Spring MVC Project 선택 2. 프로젝트 확인 프로젝트 폴더 우클릭 - Properties 1. Java Build Path 버전 확인 (실습의 경우 1.8 사용) 2. Project Facets Dynamic Web Module 버전 확인 (3.1) Java 버전 확인 (1.8) 3. Deployment Assembly - Maven Dependences 가 목록에 존재하는지..