스프링 프레임워크 핵심기술06(inflearn) - 백기선 Springframework Null-safety 스프링 프레임워크 5에 추가된 Null 관련 애노테이션 @NonNull @Nullable @NonNullApi (패키지 레벨 설정) @NonNullFields (패키지 레벨 설정) 목적 (툴의 지원을 받아) 컴파일 시점에 최대한 NullPointerException을 방지하는 것 IDE설정 (IntelliJ) preference → Compiler → Configure annotation → annotation추가 NonNull에 Nonnull Nullable에 Nullable 추 IDE 재시작 @패키지 레벨 설정 package-info 파일생성 @NonNullapi or NonNullFields..
스프링 프레임워크 핵심기술05(inflearn) - 백기선 Springframework AOP 개념 Aspect-oriendted Programming (AOP)은 OOP를 보완하는 수단으로, 흩어진 Aspect를 모듈화 할 수 있는 프로그래밍 기법. 주요개념 Aspect : 분류된 모듈 Target : 대상 ex) class A, B, C Advice : 해야할 일 Pointcut : 어디에 적용해야 하는지 정보를 가지고 있다. Join Point : 메소드 실행 시점 (끼어들 수 있는 시점) AOP 구현체 ↑ implementation으로 검색 시, 언어별 구현체들을 확인할 수 있다. 자바 AspectJ 스프링 AOP AOP 적용방법 컴파일 java파일을 class파일로 만들때 조작된 바이트 파일을 ..
스프링 프레임워크 핵심기술04(inflearn) - 백기선 Springframework SpEL(스프링 Expression Language) 스프링 EL이란? 객체 그래프를 조회하고 조작하는 기능을 제공한다. Unified EL과 비슷하지만, 메소드 호출을 지원하며, 문자열 템플릿 기능도 제공한다. OGNL, MVEL, JBOss EL 등 자바에서 사용할 수 있는 여러 EL이 있지만, SpEL은 모든 스프링 프로젝트 전반에 걸쳐 사용할 EL로 만들었다. 스프링 3.0 부터 지원. 문법 #{“표현식"} ${“프로퍼티"} 표현식은 프로퍼티를 가질 수 있지만, 반대는 안 됨. #{${my.data} + 1} 레퍼런스 참고 실제로 어디서 쓰나? @Value 애노테이션 @ConditionalOnExpression..
스프링 프레임워크 핵심기술03(inflearn) - 백기선 Springframework 데이터바인딩 추상화 기술적인 관점: 프로퍼티 값을 타겟 객체에 설정하는 기능 사용자 관점: 사용자 입력값을 애플리케이션 도메인 모델에 동적으로 변환해 넣어주는 기능. 해석하자면: 입력값은 대부분 “문자열”인데, 그 값을 객체가 가지고 있는 int, long, Boolean, Date 등 심지어 Event, Book 같은 도메인 타입으로도 변환해서 넣어주는 기능. Spring web MVC에만 특화된것이 아니다. 여러 Interface로 추상화 했다. PropertyEditor 스프링 3.0 이전까지 DataBinder가 변환 작업에 사용하던 인터페이스 쓰레드-세이프 하지 않음 (상태 정보 저장 하고 있음, 따라서 싱글..
- Total
- Today
- Yesterday