반응형

2018/09 50

Spring MVC multipart-formdata 요청

1. MultipartResolver 사용을 위한 dependency 추가1234567891011 commons-fileupload commons-fileupload 1.3.1 commons-io commons-io 2.4Colored by Color Scriptercs 2. MultipartResolver 빈 추가123 Colored by Color Scriptercs 3. 컨트롤러1234@RequestMapping(value="/register", method=RequestMethod.POST)public void register(MultipartHttpServletRequest request) { logger.debug("요청 확인 {}", request);}Colored by Color Scrip..

Spring JSON 응답 보내기

Spring 버전 : 4.3.412345678910 com.fasterxml.jackson.core jackson-core 2.7.0 com.fasterxml.jackson.core jackson-databind 2.7.0Colored by Color Scriptercs 위와 같이 dependency 추가 후 스프링 설정파일에 12345 Colored by Color Scriptercs 위 내용 추가한 후 12345678910111213@Controller@RequestMapping("ajax")public class AjaxCallController { @RequestMapping(value="duplicate_check", method=RequestMethod.POST) @ResponseBody pu..

Spring 4.3 이상 환경에서 Mybatis AbstractMethodError 오류

스프링 4.3 환경에서 Mybatis 사용 중 아래와 같은 에러가 발생했다. AbstractMethodError: org.mybatis.spring.transaction.SpringManagedTransaction.getTimeout()Ljava/lang/Integer; 알아보니 버전과 관련된 문제인 듯 했다. 1234567891011121314151617 org.mybatis mybatis 3.4.0 org.mybatis mybatis-spring 1.3.0 org.springframework spring-jdbc ${org.springframework-version}Colored by Color Scriptercs 위와 같이 버전을 명시하니 에러가 발생하지 않았다.

Spring MVC Resource Mapping 방법

모든 경로, 즉 '/**' 대상으로 Interceptor를 걸어줄 경우, ~~.js, ~~.css 등의 정적자원의 요청까지도 인터셉터가 가로챈다. 이유는 Resource Mapping은 컨트롤러의 @RequestMapping과 동급으로 취급되고, Interceptor는 요청이 컨트롤러로 들어가기 전에 먼저 실행되기 때문에 Resource Mapping으로 정적자원에 대한 요청을 매핑해놔도 걸러지지 않고 인터셉터가 가로챌 수 있는 것이다. 여러가지 해결방법이 있겠지만 Interceptor 에서 가로채지 않을 URL을 지정하는 것으로 해결했다. 12345678 cs

Spring AOP 관련

스프링 AOP는 JDK 다이나믹 프록시를 이용한 방법과 CGLIB을 이용한 프록시를 이용하는 방법 2가지가 있다. 결국 AOP는 프록시를 통해 구현할 수 있다. 다이나믹 프록시를 이용한 방법은 치명적인 제약사항이 있다. 첫 번째는 프록시객체를 만들고자하는 대상이 인터페이스 또는 인터페이스를 implements 하고 있는 클래스여야 한다는 것이다. 일반적으로 Spring이 제공하는 AOP기술을 사용할 때 AOP를 적용하려고 하는 클래스에 어떤 인터페이스를 꼭 implements하지 않아도 됐다. 즉 기본적으로 사용되는 방법은 CGLIB을 이용한 프록시를 활용하는 방법이다. (다이나믹 프록시를 이용하려면 별도의 설정을 함) 두 번째로, 특정 메소드에 국한되지 않고 인터페이스의 모든 메소드에 대해 적용된다는 ..

이클립스 단축키 모음

이클립스 단축키 잘 정리된 글이 있어 공유합니다. (출처 : http://w3devlabs.net/wp/?p=16778)실행Ctrl + F11 : 바로 전에 실행했던 클래스 실행소스 이동 관련Ctrl + 마우스커서(혹은 F3) : 클래스나 메소드 혹은 멤버를 상세하게 검색하고자 할때 Alt + Left, Alt + Right : 이후, 이전 Ctrl + O : 해당 소스의 메소드 리스트를 확인하려 할때 F4 : 클래스명을 선택하고 누르면 해당 클래스의 Hierarchy 를 볼 수 있다. Alt + ) : 이전(다음) 작업 화면문자열 찾기 Ctrl + K : 찾고자 하는 문자열을 블럭으로 설정한 후 키를 누른다. Ctrl + Shift + K : 역으로 찾고자 하는 문자열을 찾아감. Ctrl + J : 입..

기타 2018.09.17

이클립스 Organize Import 단축키 동작하지 않을때 조치방법

이클립스 "Organize Imports" 기능은 클래스에 불필요한 import구문을 제거해주고, 필요한 구문은 자동으로 추가해주는 기능으로 보통 "Ctrl + Shift + O"를 눌러 실행시킨다. 얼마 전 PC를 새로 맞추고 기쁜 마음으로 이클립스도 새로 깔고 코딩 중 Organize Imports 기능이 작동하지 않는 현상이 발생했다. 1. 이클립스 단축키 설정화면으로 이동한다. ( Window > Preferences > General > Keys ) 2. "Organize Imports"를 검색한다. 3. 검색된 단축키 설정의 Binding에 올바른 단축키가 지정되어있는지, When에 "Editing Java Source" 가 잘 지정되어있는지 확인한 후, 잘못설정된 게 있으면 수정 후 적용한다..

기타 2018.09.17

새 이클립스 설치 후 진행해야할 필수 설정

1. 자동 Validation OffWindow > Preferences 메뉴에서 Validation 탭 설정 중 Build 시 HTML, JSP, XML 등에 대한 Validation 체크 해제필요 시 수동 Validation을 위해 Manual은 체크상태 유지 2. 스펠링 체크 해제General > Editors > Text Editors > Spelling 탭에서 Enable spell checking 체크 해제 3. Indentation Tab > Space 변경1) General > Editors > Text Editors 탭에서 Insert spaces for tabs 체크2) Java > Code Style > Formatter 탭에서 New 버튼을 클릭하여 새 프로필 등록 후 Inden..

기타 2018.09.17

이클립스 Maven Local Repository 변경방법

maven 설치 디렉토리 (maven home) 내 settings.xml 또는 새로운 settings.xml을 작성한 후 태그 사이에 repository로 이용할 경로를 기술한다. C:\app\platform\repository\.m2\customRepository 이 후 이클립스에서 Window > Preferences 창의 Maven탭에서 Global 또는 User Settings를 위에서 작성한 settings.xml을 지정해준후 프로젝트 우클릭 > Maven > Update Project 수행 시 설정에 따라 새 repository가 구축된다.

기타 2018.09.17