aop 7

학습 // Spring // AOP // 표현식(SpEL)

업데이트 :: 2018.08.08 표현언어표현언어 설정API 개요빈정의시 SpEL 활용표현식 유형표현언어스프링 프레임워크가 제공하는 표현언어어디에쓰나 ? 왜쓰나 ?모든 제품에 걸쳐서 사용할 수 있는 하나의 표현언어를 스프링 커뮤니티에 제공하기 위해서 만들어짐표현언어 설정spring-expression 의존성모듈 추가pom.xml org.springframework spring-expression API 개요ExpressionParser문자열 형태인 표현식을 분석Expression 객체를 생성하기 위한 메서드 제공Expression분석된 표현식의 내용을 실행하기 위한 메서드 제공SpEL이용 간단 수식풀기ExpressionParser parser = new SpelExpressionParser(); // S..

Spring/DI & AOP 2018.08.14

학습 // Spring // AOP // Message

업데이트 :: 2018.08.09 메세지관리MessageSourceMessageSourceResolvableMessageSource 사용MessageSource APIMessageSourceResolvable 활용프로퍼티파일을 UTF-8로 인코딩다국어 지원메세지관리문자열형태의 메시지프로퍼티파일과 같은 곳에 따로 관리해서 소스코드에서 분리다국어 지원하는 국제화기능MessageSourceMessageSource는 메시지 정보의 출처를 추상화하기 위한 것어딘가에 있을 메시지 정보를 가져오기 위해 getMessage() 제공public interface MessageSource { String getMessage( String code, Object[] args, Locale locale) throws NoSu..

Spring/DI & AOP 2018.08.14

학습 // Spring // AOP // Resource

업데이트 :: 2018.08.08 Resource 인터페이스 & 구현클래스ResourceLoaderResource 접근XML에서 리소스 지정Resource 인터페이스 & 구현클래스구체적인 위치정보를 직접다루지 않아도 리소스에 접근할 수 있음Resource 인터페이스WritableResource 인터페이스InputStreamSourcepublic interface InputStreamSource { InputStream getInputStream() throws IOException; } Resource extends InputStreamSourcepublic interface Resource extends InputStreamSource { boolean exists(); boolean isReadabl..

Spring/DI & AOP 2018.08.14

학습 // Spring // AOP // 프로퍼티(Property)

업데이트 :: 2018.08.08 프로퍼티빈정의시 프로퍼티빈구현시 프로퍼티프로퍼티각종 설정값이 소스코드 안에 기재된 예제@Bean(destroyMethod="close") DataSource dataSource() { BasicDataSource dataSource = new BasicDataSource(); dataSource.setDriverClassName("org.postgresql.Driver"); dataSource.setUrl("jdbc:postgresql://localhost:5432/demo"); dataSource.setUsername("demo"); dataSource.setPassword("pass"); dataSource.setDefaultAutoCommit(false); retu..

Spring/DI & AOP 2018.08.08

학습 // Spring // AOP // 데이터바인딩(DataBinding) & 형변환(Casting)

업데이트 :: 2018.08.08 데이터바인딩과 형변환String 데이터바인딩스프링의 형변환빈을 조작하거나 래핑형변환필드값의 표현형식 포매팅ConversionService포매팅용 애너테이션커스터마이징형변환방식필드포매팅방식데이터바인딩과 형변환데이터바인딩 (DataBinding)자바 객체의 프로퍼티에서 외부에서 입력된 값을 설정하는 과정자바빈즈 (JavaBeans)데이터바인딩이나 프로퍼티관점에서 다뤄지는 객체요청 파라미터 값을 담기 위한 자바빈즈public class EmployeeForm { private String name; private Integer joinedYear; // skip } 설정자 메서드(setter)를 통한 프로퍼티 설정EmployeeForm form = new EmployeeFor..

Spring/DI & AOP 2018.08.08

학습 // Spring // AOP // Advice

업데이트 :: 2018.08.07 Advice 정의 (자바기반)BeforeAfter ReturningAfter ThrowingAfterAroundAdvice 정의 (Xml기반)포인트컷 표현식메서드명으로 조인포인트 선택타입으로 조인포인트 선택그외 방법네임드 포인트컷 활용Advice 대상객체와 인수정보 가져오기Advice 정의 (자바기반)Before@Aspect @Component public class MethodStartLoggingAspect { @Before("execution(* *..*ServiceImpl.*(..))") public void startLog(JoinPoint jp) { System.out.println("메서드시작 : " + jp.getSignature()); } } 메소드 시작..

Spring/DI & AOP 2018.08.08

학습 // Spring // AOP (Aspect Oriented Programming)

업데이트 :: 2018.08.07 AOP 개념황단관심사개념종류AOP 용어Advice 유형Weaving 방식Spring AOP 개념스프링 AOP 기능트랜잭션관리인가캐싱비동기처리재처리AOP 개념AOP (Aspect Oriented Programming ) 이란 여러 클래스에 흩어져 있는황단관심사를 중심으로 설계와 구현을 하는 프로그래밍 기법즉, 비즈니스 로직을 제외한 다른 부분은 공통적으로 관리해주기 때문에개발자는 비즈니스 로직에 집중할 수 있게됩니다.황단관심사개념황단관심사크로스커팅 관심사(cross-cutting concerns)비즈니스 로직과는 다소 거리가 있으나 여러 모듈에 걸쳐 공통적 반복적으로 필요로 하는 것횡단 관심사의 분리프로그램안에 횡단 관심사에 해당부분을 분리해서 한 곳으로 모으는 것종류보안..

Spring/DI & AOP 2018.08.07