old posting/Spring Framework

    [Spring] Null-safety

    Null-safety Spring framework5에 추가된 Null 관련 어노테이션 @NonNull @Nullable @NonNullApi (패키지 레벨 설정) @NonNullFields (패키지 레벨 설정) 목적 (툴의 지원을 받아) 컴파일 시점에 최대한 NullPointException을 방지하는 것

    [Spring] AOP와 Spring AOP

    [Spring] AOP와 Spring AOP

    AOP Aspect-oriendted Programming OOP를 보완하는 수단으로, 흩어진 Aspect를 모듈화 할 수 있는 프로그래밍 기법 AOP 주요 개념 Aspect와 Target Advice Join point와 Pointcut AOP 구현체 자바 AspectJ Spring AOP AOP 적용 방법 컴파일 로드 타임 런타임 Spring AOP 프록시 기반의 AOP 구현체 스프링 빈에만 AOP를 적용할 수 있다. 모든 AOP 기능을 제공하는 것이 목적이 아니라, 스프링 IoC와 연동하여 엔터프라이즈 어플리케이션에서 가장 흔한 문제에 대한 해결책을 제공하는 것이 목적이다. 프록시 패턴 기존 코드 변경 없이 접근 제어 또는 부가 기능 추가를 할 수 있다. Spring AOP Spring IoC 컨테..

    [Spring] SpEL

    SpEL Spring Expression Language 객체 그래프를 조회하고 조작하는 기능을 제공한다. Unified EL과 비슷하지만 메소드 호출을 지원하며, 문자열 템플릿 기능도 제공한다. OGNL, MVEL, JBOss EL 등 자바에서 사용할 수 있는 여러 EL이 있지만 SpEL은 모든 스프링 프로젝트 전반에 걸쳐 사용할 EL로 만들었다. 스프링 3.0 부터 지원한다. SpEL 구성 ExpressionParser parser = new SpelExpressionParser() StandardEvaluationContext context = new StandardEvaluationContext(bean) Expression expression = parser.parseExpression("SpE..

    [Spring] Converter와 Fomatter

    [Spring] Converter와 Fomatter

    Converter S 타입을 T타입으로 변환할 수 잇는 매우 일반적인 변환기 상태 정보 없음 == Stateless == 쓰레드-세이프 ConverterRegistry에 등록해서 사용한다. Formatter PropertyEdito 대체제 Object와 String간의 변환을 담당한다. 문자열을 Locale에 따라 다국화하는 기능도 제공한다. (optional) FormatterResgistry에 등록해서 사용한다. ConversionService 실제 변환 작업은 이 인터페이스를 통해서 쓰레드-세이프하게 사용할 수 있다. Spring MVC, 빈(value) 설정, SpEL 에서 사용한다. DefaultFormattingConversionService FormatterRegistry Conversion..