Spring
-
spring transaction roll back 처리Spring/Spring 기본 지식 2021. 6. 20. 15:15
회사 프로젝트를 확인하다가 try catch와 transation에 대해서 궁금한한게 생겼다. 궁금한 내용들은 각각의 예외처리가 된 메소드에서 에러가 발생이될 때 서로의 관계가 어떻게 될까? 였다. 이에 따른 현상을 이해하기 위해서 우선적으로 Excatpion과 Error의 기본적인 개념을 알면서 공부하자 아래의 링크를 타고가게 된다면 기본적인 개념에 대해서 적었지만 이번 글에서는 좀 더 나아가서 공부할 예정이다. 2020.07.19 - [Java & 배경지식/기본상식] - 자바 개발자가 알아야하는 25가지 상식! 아래에 관련된 코드는 여기 확인하면 된다. Exception과 Error Exception과 Error는 한 마디로 개발자가 대응을 할 수 있냐 없냐로 구분할 수 있다. 쉽게 말하면 Erorr..
-
spring @ControllerAdvice, @ExceptionHandlerSpring/Spring 기본 지식 2021. 4. 7. 15:27
코딩을 하다가 몇개의 Exception은 처리가 쉬운게 이것이 여러개인 경우 또는 Error Message 처리는 어떻게 할까? 라는 의문으로 시작하게 되어 Advice를 공부하게 되었다 코드를 작성을 하게 되면 Exception처리가 매우 길어지거나, 처리하기가 매우 힘들어진다. 그렇기 때문에 스프링에서는 크게 ControllerAdvice, ExceptionHandler 2가지 방법으로 에러처리를 진행한다. 해당코드는 gitHub 확인해주세요 ExceptionHandler Controller나 RestController에서 발생되는 에러를 메소스에서 처리하는 기능을 가졌다. 하지만 단점이 있는데 단점을 알아 보자. 단점 Controller 또는 RestController에서만 작동이 된다. Excep..
-
MyBatis 속성Spring/Spring 기본 지식 2020. 5. 6. 08:34
이전글 보기 2020/03/23 - [Spring/Spring 기본 지식] - Spring mybatis jdbc 기본 연결테스트 2020/03/23 - [Spring/Spring 기본 지식] - JDBC 사용 - 커넥션 풀 select 속성 속성 설명 id 구문을 찾기 위해 사용될 수 있는 네이스페이스내 유일한 구분자 parameterType 구문에 전달될 파라미터의 패키지 경로를 포함한 전체 클래스명이나 별칭 flushCache 이 값을 true 로 셋팅하면 구문이 호출될때마다 캐시가 지원 된다.(flush). 디폴트는 false 이다. timeout 예외가 던져지기 전에 데이터베이스의 요청 결과를 기다리는 최대시간을 설정한다. 디폴트는 셋팅하지 않는 것이고 드라이버에 따라 다소 지원되지 않을 수 있..
-
Spring AOP 설정방법 - @annotation 두 번째(백기선님)Spring/Spring 기본 지식 2020. 3. 30. 22:41
1. pom.xml 추가 org.springframework spring-aspects ${org.springframework-version} 2. servelt-context에 설정 추가 3. Controller에서 @anntation 붙이기 @Controller public class HomeController { @RequestMapping(value = "/", method = RequestMethod.GET) @TestAOP public String home(Locale locale, Model model) throws Exception { System.out.println("메소드 안이여"); return "home"; } } 4. @annotation interface 만들기 @Retenti..
-
Spring AOP 설정방법 - executionSpring/Spring 기본 지식 2020. 3. 30. 22:30
1. pom.xml 추가 org.springframework spring-aspects ${org.springframework-version} 2. servelt-context에 설정 추가 3. 코드 설정 @Controller public class HomeController { @RequestMapping(value = "/", method = RequestMethod.GET) public String home(Locale locale, Model model) throws Exception { System.out.println("메소드 안이여"); return "home"; } } @Component @Aspect public class PerfAspect { // logPerf 메소드 즉 어드바이스를..
-
Spring AOP - 프록시 기반 AOPSpring/Spring AOP 2020. 3. 30. 22:08
스프링 AOP 특징 프록시 기반의 AOP 구현체 스프링 빈에서만 AOP 적용 모든 AOP 기능을 제공하는 것이 목적이 아니라, 스프링 IoC와 연동하여 엔터프라이즈 애플리케이션에서 가장 흔한 문제에 대한 애결책을 제공하는 것이 목적 프록시 패턴 기존 코드 변경없이 접근 제어 또는 부가 기능 추가 2020/02/17 - [Java/패턴] - 프록시 패턴 프록시 패턴 프록시 패턴이란? 프록시를 사용하는 방법중에서 타깃에 대한 접근 방법을 제어하려는 목적을 가진 경우 타깃의 기능을 확장하거나 추가하지 않고, 클라이언트가 타깃에 접근하는 방식을 변경해준다. public inte.. rlawls1991.tistory.com 프록시 패턴의 문제점 매번 프록시 클래스를 작성 여러 클래스 여러 메소드에 적용하면 코드의..
-
Spring AOP 설정방법 - @annotationSpring/Spring 기본 지식 2020. 3. 25. 10:14
1. pom.xml 추가 org.springframework spring-aspects ${org.springframework-version} 2. servelt-context에 설정 추가 3. Controller에서 @anntation 붙이기 4. @annotation interface 만들기 public @interface ParameterCheck { } 5. @annotation 구현체 만들기 @Aspect @Component public class ParameterCheckAspect { @Pointcut("@annotation(com.test.test1.api.aop.aspect.ParameterCheck)") public void parameterCheck() { } @Before("para..