0. 이 포스트는 Spring : AOP with Java Config 의 연속이다. 1. Aspect 클래스 내의 Advice의 실행순서는 정의된 것이 없다. 그냥 랜덤이다. 2. Advice의 순서를 관리하고 싶은 경우에는 advice마다 별도의 Aspect 클래스를 만들어 순서를 정할 수 있다. 2-1 @Order annotation을 사용하여 순서를 정할 수 있다. 2-2 @Order(숫자) 형식으로 순서를 정할 수 있는데 숫자가 낮을 수록 우선순위가 높다. 2-2-1 숫자는 -1, -100같은 음수도 가능하다. 2-2-2 순차적으로 사용할 필요가 없다. 1, 3, 100 이런 식으로 마음 대로 설정할 수 있다. 2-3 같은 숫자가 할당 되는 경우는 그 Aspect 클래스들만 랜덤으로 실행된다. ..
1. 이 포스트는 Spring AOP with Java Config - @Pointcut annotation의 연속이다. 2. point cut의 조합은 2-1 하나의 advice 메소드에 여러 개의 point cut expression을 적용하거나 2-2 특정한 조건에서만 실행하도록 메소드를 정의할 수 있다. 2-3 조합에는 &&, ||, ! 논리 연산자를 사용할 수 있다. 2-4 논리 연산자의 조합은 if statement처럼 처리되며 true일 경우만 실행대상이 된다. // and 연산 @Before("expressionOne() && expressionTwo()") // or 연산 @Before("expressionOne() || expressionTwo()") // and와 !연산 @Before..
0. 이 포스트는 Spring : AOP with Java Config 시리즈의 연속이다. 1. @Pointcut annotation의 목적은 하나의 point cut expression을 여러 advice 메소드에서 사용하기 위한 것이다. 1-1 즉 여러 개의 advice 메소드를 동일한 조건에서 사용할 경우에 중복을 제거하기 위함이다. 1-2 장점을 나열해 보면 쉬운 재사용, 한 곳에서 수정할 수 있음, 여러 포인트 컷의 공유와 조합이 편리함 2. @Pointcut 메소드를 정의한다. 2-1 아래의 코드의 forDAOPackage메소드는 @Pointcut으로 수식되어 있다. 2-2 단순히 point cut expression의 중복을 줄이기 위해서 사용하였다. 2-3 아래 소스는 예전의 소스와 동일하..
1. 이 포스트는 Spring AOP with Java Config 의 연장이다. 2. 포인트 컷 정의에서 parameter에 들어갈 pattern을 wildcard를 통해 지정할 수 있다. 2-1 () parameter가 없는 메소드 정의 2-2 (*) 하나의 parameter를 받는데 모든 타입을 다 허용한다. 2-3 (..) 어떤 타입의 parameter형태도 다 허용한다. 3. 각 wild 카드에 해당하는 예제들 3-1 모든 리턴 타입을 허용하는 add로 시작하고 parameter가 없는 메소드를 허용하는 예제 3-1-1 이미 바로 전 포스트에서 보여 주었다. // AOP Advice 클래스 @Aspect @Component public class LoggingAspect { // @Before(..
0. 이 포스트는 Spring AOP with Java Config 시리즈의 연속된 내용이다. 1. Point Cut Expression은 어떤 메소드가 실행되어야 할지 AOP Proxy가 결정하는데 정보를 제공한다. @Aspect @Component public class LoggingAspect { // @Before(value = "execution(public void addAccount())") @Before(value = "execution(public void pe.pilseong.spring_aop_review.dao.AccountDAO.addAccount())") public void beforeAddAccountAdvice() { System.out.println("\n\nExecuti..
1. MySql은 기본언어가 latin1으로 되어 있기 때문에 한글 입력이 있는 경우 에러가 발생한다. 2. 우선 my.cnf에 아래와 설정한다. utf-8의 경우 3바이트 unicode까지 저장가능한데 utf8mb4는 4바이트까지 가능하다. # UTF-8 should be used instead of Latin1. Obviously. # NOTE "utf8" in MySQL is NOT full UTF-8: http://mathiasbynens.be/notes/mysql-utf8mb4 [client] default-character-set = utf8mb4 [mysqld] character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci [mys..
1. 기본적으로 AOP를 테스트하고 사용하기 위한 dependency 1-1 스프링의 기동을 위한 기본 라이브러리 spring core, spring context 1-2 스프링 AOP 사용을 위한 spring aop, aspectj weaver 1-2-1 spring aop이 aspectJ의 일부 annotation과 class를 사용하기 때문에 aspectj가 필요하다. junit junit 4.11 test org.springframework spring-core 5.2.6.RELEASE org.springframework spring-context 5.2.6.RELEASE org.springframework spring-aop 5.2.6.RELEASE org.aspectj aspectjweaver..
1. 이 포스트는 Spring Web + Hibernate Delete와 연결되는 포스트이다. 2. 고객리스트에 first name으로 검색하는 기능을 추가한다. 2-1 list-customers.jsp에 검색하는 form을 추가한다. 2-2 CustomerDAO를 업데이트 한다. 2-3 CustomerService를 업데이트 한다. 2-4 CustomerController를 업데이트 한다. 3. 검색 기능을 위한 form을 추가한다. 3-1 bootstrap의 input-group을 사용하였다. 3-2 같은 mapping을 사용하여 list 뒤에 queryString을 추가할 수도 있지만 3-3 여기에서는 별도의 mapping 메소드를 추가하였다. CRM - Customer Relationship Ma..
- Total
- Today
- Yesterday
- 도커 개발환경 참고
- AWS ARN 구조
- Immuability에 관한 설명
- 자바스크립트 멀티 비동기 함수 호출 참고
- WSDL 참고
- SOAP 컨슈머 참고
- MySql dump 사용법
- AWS Lambda with Addon
- NFC 드라이버 linux 설치
- electron IPC
- mifare classic 강의
- go module 관련 상세한 정보
- C 메모리 찍어보기
- C++ Addon 마이그레이션
- JAX WS Header 관련 stackoverflow
- SOAP Custom Header 설정 참고
- SOAP Custom Header
- SOAP BindingProvider
- dispatcher 사용하여 설정
- vagrant kvm으로 사용하기
- git fork, pull request to the …
- vagrant libvirt bridge network
- python, js의 async, await의 차이
- go JSON struct 생성
- Netflix Kinesis 활용 분석
- docker credential problem
- private subnet에서 outbound IP 확…
- 안드로이드 coroutine
- kotlin with, apply, also 등
- 안드로이드 초기로딩이 안되는 경우
- navigation 데이터 보내기
- 레이스 컨디션 navController
- raylib
- WebMvc
- 설정
- 스프링
- RestTemplate
- hibernate
- one-to-many
- 설정하기
- 스프링부트
- 상속
- XML
- MYSQL
- Validation
- 로그인
- 외부파일
- Many-To-Many
- crud
- Rest
- form
- spring boot
- jsp
- mapping
- 하이버네이트
- one-to-one
- 자바
- login
- 매핑
- Spring Security
- Angular
- Spring
- Security