백기선(인프런 강의)/스프링 프레임워크 핵심 기술
-
Null-safety백기선(인프런 강의)/스프링 프레임워크 핵심 기술 2020. 3. 31. 12:07
Null-safety란? 스프링 프레임워크 5에 추가된 Null 관련 어노테이션 @NonNull @Nullable @NonNullApi (패키지 레벨 설정) @NonNullFields (패키지 레벨 설정) 목적 툴의 지원을 받아 컴파일 시점에 최대한 NullPointerException을 방지하는것 사용법 @Service public class EventService{ @NonNull // return도 null허용 안됨 public String createEvent(@NonNull String name){ return "hello " + name; } }
-
Spring AOP - @AOP백기선(인프런 강의)/스프링 프레임워크 핵심 기술 2020. 3. 30. 22:47
애스팩트 정의 @Aspect 빈으로 등록해야 하니까 @Component 추가(*컴포넌트 스캔 사용한다면) 포인트 컷 정의 @Pointcut(표현식) 주요 표현식 execution @annotation bean 포인트컷 조합 &&, ||, ! 어드바이스 정의 @Before - 메소드 접근 전에 @AfterReturning @AfterThrowing @Around 2020/03/30 - [Spring/Spring 기본 지식] - Spring AOP 설정방법 - @annotation 두 번째(백기선님) 2020/03/30 - [Spring/Spring 기본 지식] - Spring AOP 설정방법 - execution 2020/03/25 - [Spring/Spring 기본 지식] - Spring AOP 설정방법..
-
Spring AOP - 개념소개백기선(인프런 강의)/스프링 프레임워크 핵심 기술 2020. 3. 29. 20:47
2020/02/09 - [Spring/Spring AOP] - Spring AOP Spring AOP 1. AOP(Aspect Oriented Programming)란? 관점지향 프로그래밍 AOP를 구현하는 다양한 방법이 존재하지만, 기본적인 개념은 아래 그림과 같이 공통 관심 사항 코드를 비즈니스 로직을 구현한 코드안에 삽입 자체적.. rlawls1991.tistory.com 백기선님의 개념소개 강의를 들으면서 내가 공부한 내용이 대부분 포함되어 있어서 기분은 좋았다.. 하지만 디테일이 부족하다는 것을 알았으니.. 좀 더 깊게 공부하는 습관을 가져야 겠다.
-
SpEL(스프링 Expression Language)백기선(인프런 강의)/스프링 프레임워크 핵심 기술 2020. 3. 26. 08:42
스프링 EL 이란? 객체 그래프를 조회하고 조작하는 기능을 제공한다. Unified EL과 비슷하지만, 메소드 호출을 지원하며, 문자열 템플릿 기능도 제공한다. OGNL, MVEL, JBOss EL 등 자바에서 사용할 수 있는 여러 EL이 있지만, SpEL은 모든 스프링 프로젝트 전반에 걸쳐 사용할 EL로 만들었다. 스프링 3.0 부터 지원. @RestController public class HomeController { @Value("#{1 + 1}") int value; @Value("#{'hello ' + 'world'}") String greeting; @Value("#{1 eq 1}") boolean trueOrFalse; @GetMapping(value = "/") public String ..
-
데이터 바인딩 추상화 - propertyEditor, Converter, Formmater백기선(인프런 강의)/스프링 프레임워크 핵심 기술 2020. 3. 25. 12:38
propertyEditor org.springframework.validation.DataBinder java.beans.PropertyEditor https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/validation/DataBinder.html WEB MVC에만 특화된 것이 아니라 여러 곳에서 쓰이는 스프링 핵심 기술 기술적인 관점 프로퍼티 값을 타겟 객체에 설정하는 기능 사용자 관점 사용자 입력값을 애플리케이션 도메인 모델에 동적으로 변환해 넣어주는 기능. 입력값은 대부분 “문자열”인데, 그 값을 객체가 가지고 있는 int, long, Boolean, Date 등 심지어 Event, Book 같은 도메인 타입으로도 변..
-
Validation 추상화백기선(인프런 강의)/스프링 프레임워크 핵심 기술 2020. 3. 23. 22:37
org.springframework.validation.Validator 스프링에서는 Validator 인터페이스를 지원하여 어플리케이션에서 사용하는 객체를 검증할 수 있는 기능을 제공한다. 이 Validator 인터페이스는 어떤 특정 계층에 사용하는 기능이 아닌 모든 계층에서 사용할 수 있다. Validator는 Java EE Spec인 Bean Validation의 어노테이션을 이용하여 객체가 제대로 요구사항에 맞추어 생성 됬는지 검증할 수 있다. 특징 어떤한 계층과도 관계가 없다. => 모든 계층(웹, 서비스, 데이터)에서 사용해도 좋다. 구현체 중 하나로, JSR-303(Bean Validation 1.0)과 JSR-349(Bean Validation 1.1)을 지원한다. (LocalValidat..
-
Resource 추상화백기선(인프런 강의)/스프링 프레임워크 핵심 기술 2020. 3. 23. 12:22
특징 java.net.URL을 추상화 한 것. java.net.URL을 resource라는 클래스로 감싸서 실제 low레벨에 접근하는 기능을 추상화 스프링 내부에서 많이 사용하는 인터페이스. 추상화 한 이유 클래스패스 기준으로 리소스 읽어오는 기능 부재 ServletContext를 기준으로 상대 경로로 읽어오는 기능 부재 새로운 핸들러를 등록하여 특별한 URL 접미사를 만들어 사용할 수는 있지만 구현이 복잡하고 편의성 메소드가 부족하다. Resouce 상속받은 인터페이스 public interface Resource extends InputStreamSource { /** * Return whether this resource actually exists in physical form. * This me..