본문 바로가기

프로그래밍/Spring & MyBatis

[Spring] 어노테이션 Annotation 1. 어노테이션 의미 - 어노테이션(annotation)은 자바 1.5버전부터 지원되는 기능으로 일종의 메타데이터(metadata)다. - 어노테이션의 사전적 의미는 '주석'이며, 주석처럼 코드에 추가해서 사용할 수 있으며, 컴파일 또는 런트임시에 해석 된다. 2. 어노테이션 만들기 - 어노테이션은 다음과 같이 interface에 @를 붙여서 선언하고, 어노테이션이 적용될 대상과 동작 방식을 지정할 수 있다. @Target(ElementType.Method) @Retention(RetentionPolicy.RUNTIME) Public @Interface MyAnnotation{String str() default "";} - 여기서 Target은 어노테이션이 적용되는 대상을 의미하는데 ElementTyp..
[Spring] logback 사용하기 출처 : https://github.com/sonegy/how-to-use-logback How to use logback[TOC]logback이란logback은 SLF4J의 native 구현체 입니다. slf4j로 어플리케이션 로그를 남긴다면 logback을 선택하는게 가장 좋습니다. slf4j의 도움으로 연관 라이브러리들이 다른 logging framework를 쓰더라도 logback으로 통합할 수 있습니다.logback 은 logback-core, logback-classic, logback-access의 3개의 모듈이 있습니다. core는 classic과 access의 공통라이브러리입니다. maven repository를 쓴다면 classic만 추가하면 관련 라이브러리가 추가 됩니다.Maven p..
[Spring Boot] 스프링 부트에서 JSP 사용하기 MAVEN 의 경우 pom.xml에 아래와 같이 의존성 주입후 javax.servlet jstl org.apache.tomcat.embed tomcat-embed-jasper application.properties 에spring.mvc.view.prefix=/WEB-INF/views/spring.mvc.view.suffix=.jspserver.jsp-servlet.init-parameters.development=true를 추가 하면 된다. src-main 하위에 webapp/WEB-INF/views/라는 폴더를 만들고 그 안에 jsp 파일들을 넣으면 됨. 스프링 부트는 템플릿 엔진을 권장하며 현재 스프링에서 밀고 있는 템플릿 엔진은 타임리프임 또는 @SpringBootApplication 에 아래와 ..
[Spring Framework] Spring Security CSRF 적용 폼 전송시 아래를 반드시 추가할 것. 상단에 스프링 시큐리티 taglib를 추가하고 를 이용하여도 된다. security-context.xml 에서 아래와 같이 csrf를 설정하면 되며 package com.bellsoft.exchange.custom.authentication; import java.util.regex.Pattern; import javax.servlet.http.HttpServletRequest; import org.springframework.security.web.util.matcher.OrRequestMatcher;import org.springframework.security.web.util.matcher.RegexRequestMatcher;import org.springfra..
[Spring Framework] rootContext, servletContext spring framework 을 사용하면서 무심코 지나치기 쉬운 context config에 대한 기본적인 내용입니다.spring은 계층구조를 가지는 multi context 환경을 구성할 수 있도록 해주며 이 spring의 context에 대한 설정을 크게 두가지로 나눈다면 root context와 servlet context로 볼 수 있습니다.servlet context의 경우 web application의 client의 요청을 받기 위한 entry point로서의 서블릿의 context 설정이라고 볼 수 있습니다. 따라서 해당 context의 설정에는 요청에 대한 처리를 해줄 controller의 매핑설정(handler mapping)과 요청처리 후 view처리를 어떻게 할 것인가에 대한 설정(v..
[Mybatis] 한글깨짐 해결 참조http://miconblog.com/tc/sohn/563http://blog.naver.com/PostView.nhn?blogId=kobell9&logNo=90149920026 1. Spring 설정web.xml 에 아래와 같이 Spring 에서 제공하는 filter를 설정해준다.(POST를 한글처리를위한 설정)encodingFilterorg.springframework.web.filter.CharacterEncodingFilterencodingUTF-8encodingFilter/*servelt-context.xml 설정 2. Server 설정 Server.xml(GET 한글 처리를 위한 설정) 3. jsp 설정 4. Mybatis 입력시 한글깨짐 한글입력시깨짐문제 발생jdbc.url=jdbc:my..
[Spring] 에러처리 + 에러페이지 커스터마이징 하기 오늘의 포스팅 내용은 바로 Spring Framework에서 에러가 발생했을 시 처리하는 방법에 대해서 알아보려고 해요. 크게 네가지 파트로 나눌껀데요~이유는 Spring Security에 의해서 돌아가는 에러는 처리방법이 약간 까다롭기때문이에요. (1) AJAX를 이용하는 서비스가 로그인이 필요할 경우(2) 에러페이지 커스터마이징(3) 일반 에러 처리(4) NoHandlerFoundException(5) AccessDeniedException 위 네가지에 대해서 포스팅을 할껀데 1,2,3번은 모두 Spring Security가 관리해요.그래서 다루기가 약간 까다롭지요~ 그럼 포스팅을 시작해볼까요! (1) AJAX를 이용하는 서비스가 로그인이 필요할 경우사실 오늘 하는 포스팅중 가장 필요한 포스팅이 아닐..
[Srping] 스프링에서 밀고 있는 DBCP - HikariCP HikariCPBoneCP를 재치고 놀라운 속도를 자랑하는 DB Connection Pool입니다. BoneCP의 경우, Hibernate 4.x 버젼에서의 지원이 조금 애매해진 경향이 있습니다. (최신 버젼의 Hibernate에서는 에러가 발생합니다.) 반면에 HikariCP의 경우에는 Hibernate와의 통합 jar가 나오는 등, 계속해서 밀어주고 있다는 느낌이 강하게 듭니다.GitHub pagehttps://github.com/brettwooldridge/HikariCPHibernate + HikariCPbuild.gradle에 다음 dependency들을 추가합니다. compile 'org.slf4j:slf4j-api:1.7.5' compile 'com.zaxxer:HikariCP:2.0.1' ..