Tag: Spring

0

18.Null-safety

Null-safety컴파일타임에 널포인트 익셉션을 최소화 널을 허용하느냐 안하느냐에 따라 툴의 지원을 받아 컴파일타임에 널포인트 익셉션 발생을 방지할 수 있다. Null-safety스프링 프레임워크 5에 추가된 Null 관련 애노테이션@NonNull, @Nullable, @NonNullApi (패키지 레벨 설정), @NonNullFields (패키지 레벨

0

17.스프링 AOP

스프링 AOP123456789101112131415161718192021222324252627282930313233343536373839public interface EventService { void createEvent(); void publishEvent(); void deleteEvent();}@Servicepublic class

0

16.프록시 기반 AOP

프록시 기반 AOP스프링 AOP: 프록시 기반 AOP스프링 AOP 특징 모든 AOP 기능을 제공하는 것이 목적이 아니라, 스프링 IoC와 연동하여 엔터프라이즈애플리케이션에서 가장 흔한 문제에 대한 해결책을 제공하는 것이 목적. 프록시 패턴?아래그림과 같이 인터페이스가 있고 클라이언트는 프록시 객체를 갖는다. 프록시는 타겟 객체를 원래해야할 일을 갖고있는 객

0

15.스프링 AOP

스프링 AOPAOP의 구현체를 제공하며 AspectJ와 연동하여 사용할 수 있으며 스프링 내부적으로 구현한 Spring AOP를 사용할 수 있음. 이를 기반으로 다양한 기능이 제공되고있다. AOP?흩어진 Aspect를 모듈화 하는 프로그래밍 기법이다. OOP와 서로 보완하는 관계이다. 즉 OOP를 더 잘할 수 있게 도와줌 AOP는 Aspect로 흩어져 있는

0

14.SpEL

SpEL객체 그래프를 조회하고 조작하는 기능을 말한다.Unified EL과 비슷하지만, 메소드 호출을 지원하며, 문자열 템플릿 기능도 제공한다.스프링 3.0 부터 지원. JSP에서 봤던 Unified EL 123<c:if test="${sessionScope.cart.numberOfItems > 0}">

0

13.데이터 바인딩 추상화

데이터 바인딩 추상화: Converter와Formatter이전강의에서 봤던 PropertyEditor의 단점으로 인해 Converter와Formatter가 생겨났다 PropertyEditor의 단점 쓰레드 세이프하지 않음 무조건 스트링과 오브젝트의 관계이다. 즉 스트링을 오브젝트로 하거나 오브젝트를 스트링으로 변환하거나 밖에 못함.getAsText() 메소

0

12.데이터바인딩 추상화

데이터바인딩 추상화데이터 바인딩 :어떤 프로퍼티의 값을 타겟 객체에 설정하는것.즉 사용자가 입력한 값을 어플리케이션 객체 도메인에 동적으로 입력하는것쉽게말하자면 입력값은 문자열인데 int,long, boolean, Book, Event 등과 같은 이벤트 타입으로변환해서 넣어주는 기능 고전적인 방식123456789101112public class Event&

0

11.Validation 추상화

Validation 추상화자바 EE 표준스펙중에 하나이다. org.springframework.validation.Validator는 어플리케이션에서 사용하는 객체 검증용 인터페이스이다. boolean supports(Class clazz): 검증하는것을 지원하는지 판단void validate(Object obj, Errors e): 실제 검증 로직을 이

0

10.Resource 추상화

지금까지 ApplicationContext는 단순한 빈 팩토리가아니라 여러가지 기능을 하는것을 알아봤었다. Resource 추상화지금까지는 IoC에 대해 살펴봤다면 지금부터는 추상화에 대해 알아보겠다 스프링에서는 Reosurce(org.springframework.core.io.Resource)를 추상화 하였다. java.net.URL를 Resource라는

0

9.ResourceLoader

리소스를 읽어오는 기능을 제공하는 인터페이스인 ResourceLoader를 ApplicationContext이 구현한다. test.txt 파일을 리소스 안에 넣어주자. AppRunner.java12345678910public class AppRunner implements ApplicationRunner{ @Autowired ResourceLo