설치&설정 관련/Spring Framework
-
[TIP]Spring MVC 에서 ResponsBody로 String 을 전달시 한글 깨짐 현상 해결설치&설정 관련/Spring Framework 2017. 2. 23. 12:05
Spring MVC 에서 ResponsBody로 String 을 전달시 한글 깨짐 현상 해결Controller에서 단순한 문자열(String)을 ResponseBody로 전달 할 경우, 깨지는 현상이 발생할수 있습니다. 코드는 다음과 같습니다.@RequestMapping(value="/preview/{id}", method=RequestMethod.GET) public @ResponseBody String getContent(@PathVariable("id") long id) { return service.getContent(id); }한글이깨지는 원인은 브라우져에서 해당 요청에 대한 응답의 헤더 값을 보면 다음과 같이 표현 되어 있습니다.Content-Type:application/json;charse..
-
Controller의 @RequestBody 에서 XSS 처리 방법설치&설정 관련/Spring Framework 2016. 7. 22. 16:56
XSS를 네이버에서 만든 Lucy의 servlet-filter 를 이용하여 지금까지 쉽게 처리 해 왔습니다. XSS 관련해서 POST로 처리 하는 부분이 제대로 동작 하지 않는 것을 확인하여 체크해본 결과 Lucy는 RequestParameter관련한 지원만 합니다. 따라서 Spring에서 @RequestBody를 이용한 부분은 처리할 수 없습니다. 이에 구글링으로 검색해본 결과 MessageConverter를 이용하여 처리 하는 방법을 확인 하였습니다. 처리 방법은 spring 4.2.5 기준으로 다음과 같습니다. 먼저 다음과 같은 ObjectMapper를 가진 FactoryBean을 생성 합니다. package kr.pe.lahuman;import org.apache.commons.lang3.Stri..
-
[TIP]Aspect 를 이용한 공통 BindingResult 처리 방법설치&설정 관련/Spring Framework 2016. 5. 24. 16:25
Aspect 를 이용한 공통 BindingResult 처리 방법validation 을 다음과 같이 처리를 한다.VO에서 Vaildation 관련 설정@Data @JsonInclude(Include.NON_NULL) public class RolesVO { @NotNull(groups={ValidationGroup.Update.class}) private Long roleSeq; @NotBlank(groups={ValidationGroup.Insert.class, ValidationGroup.Update.class}) private String roleId; @NotBlank(groups={ValidationGroup.Insert.class, ValidationGroup.Update.class}) priv..
-
[TIP]SpringBoot 포트 및 ERROR 페이지 관련설치&설정 관련/Spring Framework 2015. 12. 10. 10:18
[TIP]SpringBoot 포트 및 ERROR 페이지 관련원본 문서1. HTTP Port 변경 방법SpringBoot를 이용해서 서비스를 구축 하는 경우, PORT를 변경하고 싶을때 다음과 같이 하시면 됩니다. application.properties 파일에서 server.port=8888 를 추가Main(SpringBootApplication) Run 시 VM options 에 -Dserver.port=8888 를 추가원본 문서에서는 management.port를 사용하면 된다고 하지만, 테스트 결과 server.port 만 동작하였습니다.2. 사용자 정의 ‘whitelable’ 에러 페이지를 생성 하는 방법SpringBoot는 서버에서 에러(클라이언트에서 JSON 형식이나 다른 미디어 타입으로 요청..
-
[번역 & 사용기]Spring-loaded를 IntelliJ 와 Gradle를 사용하여 설정 하기설치&설정 관련/Spring Framework 2015. 10. 20. 15:53
참고 URL : http://docs.spring.io/spring-boot/docs/current/reference/html/howto-hotswapping.html72.6.2. Spring Loaded를 Gradle와 IntelliJ에서 설정하기몇가지 단계를 지나면 Spring Loaded를 Gradle와 IntelliJ 에 결합하여 사용 하고 싶을 것이다. 기본적으로 Spring Loaded가 바라보는 classes의 컴파일되는 위치가 IntelliJ에서 Gradle일 경우 달라서 실패 할 것이다.IntellJ에서 idea를 사용하여 Gradle plugin을 정확하게 설정 할 수 있다.buildscript { repositories { jcenter() } dependencies { classpa..
-
[번역]Spring-loaded설치&설정 관련/Spring Framework 2015. 10. 19. 11:13
원본 : https://github.com/spring-projects/spring-loadedSpring LoadedSpring Loaded 란?JVM이 동작 중에 class 파일의 변경을 재반영해주는 JVM 대행자이다. 이는 로딩 시간에 class들을 늦은 재반영을 하도록 변형해줍니다. hot code replace와 다르게 JVM이 단 한 번 기동 중에 쉽게 변경을 반영한다. (유래:Method 내용의 변경) Spring Loaded는 메소드/필드/생성자에 대한 추가/변경/삭제를 지원합니다. 또한, 어노테이션은 타입/메소드/필드/생성자에 대한 변경을 지원하고 Enum 타입은 값에 대한 추가/수정/삭제가 가능합니다.Spring Loaded 는 JVM에서 실행할 수 있는 bytecode를 사용한다. 또..
-
[Spring Boot + Spring Security]H2 DB Console 사용하기설치&설정 관련/Spring Framework 2015. 8. 26. 18:24
H2 Dababase Console Spring 기반의 어플리케이션을 개발할때, 개발 환경에서 H2 메모리 데이터베이스를 사용할 것이다. (왜냐면, 이것은 가볍고, 빠르며, 또한 사용이 쉽다.)일반적으로 큰 업무를 진행하는 운영 서버에서는 다른 RDMBS(Oracle, Mysql, Postgres)를 사용 한다.Spring 어플리케이션과 함께 개발을 한다면, JAP/Hibernate 그리고 Hibernate의 스키마 생성 기능을 사용 할것이다.어플리케이션이 시작할때, H2 DB와 함께라면, Hibernate에서는 DBMS를 항상 생성한다.따라서 DB는 일관된 상태를 유지하게 된다. 또한 개발과 테스트에서 JPA mapping을 허용한다. H2는 어플리케이션을 개발하는 동안, 웹 기반의 데이터베이스 콘솔을..
-
[Spring-loadded]WAS 재기동 없이 개발하기설치&설정 관련/Spring Framework 2015. 8. 20. 16:31
Spring-Loaded 란? JVM 기동중 class 파일의 변경을 반영해주도록 해주는 JVM 에이전트이다.'hot code replace' 같이 JVM이 한번 기동된 이후 간단한 변경에 대한 허용(메소드 내용 변경)과 다르게 Spring Loaded는 메소드, 필드, 구조등에 대한 추가/변경/삭제를 허용한다.types/methods/fields/constructors 어노테이션 또한 변경이 가능하고, enum타입들에 대한 추가/변경/삭제 가 가능하다. 설치 방법 현재(2015.8.20)기준으로 1.2.3 이 배포 : springloaded-1.2.3.RELEASE.jar 1.2.4 스냅샷 버젼이 배포 : repo.spring.io 실행 방법 java -javaagent:/springloaded-{VE..