아래 포스팅에 대한 상위 메타 문서는 [RTFM] 매일 읽는 공식 문서 를 참고해 주세요. 원문 : https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#aop 관점 지향 프로그래밍(AOP)는 프로그램 구조에 대한 다른 생각을 제공함으로써 객체 지향 프로그래밍(OOP)을 보완한다. OOP에서 모듈화의 핵심 단위는 클래스인 반면, AOP에서 모듈화의 단위는 애스펙트이다. 애스펙트는 여러 타입과 객체를 관통하는 (트랜잭션 관리 같은) 개념의 모듈화를 가능하게 한다. 스프링의 핵심 컴포넌트 중 하나가 바로 AOP 프레임워크이다. 스프링 IoC 컨테이너가 AOP에 의존하지 않는 반면에 (즉, AOP를 사용하고 싶지 않으면 사용..
아래 포스팅에 대한 상위 메타 문서는 [RTFM] 매일 읽는 공식 문서 를 참고해 주세요. 원문 : https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#expressions 스프링 표현 언어(SpEL)는 런타임에 객체 그래프를 탐색하고 조작할 수 있도록 해주는 강력한 표현 언어이다. 자바 표현 언어는 여러가지(OGNL, MVEL, JBoss EL 등)가 있지만, SpEL은 스프링 프로덕트 전반적으로 사용할 수 있는 좋은 단일 표현 언어로 스프링 커뮤니티에 제공되었다. 평가 다음 코드는 Hello World 라는 문자열 표현을 평가하는 SpEL API를 소개한다. ExpressionParser parser = new S..
아래 포스팅에 대한 상위 메타 문서는 [RTFM] 매일 읽는 공식 문서 를 참고해 주세요. 원문 : https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#validation 비즈니스 로직으로 유효성 검사를 고려하는 데는 장단점이 있으며, 스프링은 둘 중 하나도 배제하지 않는 유효성 검사 설계를 제공한다. 유효성 검사는 웹 계층에 종속적이어서도 안 되며, 현지화가 쉬워야 하고, 어떤 validator도 적용할 수 있어야 한다. 이러한 것들을 고려하여, 스프링은 애플리케이션의 모든 계층에서 기본적이고 탁월한 사용이 가능한 Validator를 제공한다. 데이터 바인딩은 사용자 입력을 애플리케이션 도메인 모델에 동적으로 바인딩..
아래 포스팅에 대한 상위 메타 문서는 [RTFM] 매일 읽는 공식 문서 를 참고해 주세요. 원문 : https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#resources 들어가며 자바 표준 java.net.URL 클래스와 표준 URL 핸들러들은 불행히도, 낮은 레벨의 리소스에 접근하기에는 충분하지 않다. 예를 들어, 클래스 경로나 ServletContext에 관련된 리소스에 접근하는 표준화된 URL 구현체가 없다. 특별한 URL 접두사를 위한 핸들러를 등록할 수 있지만, 일반적으로 꽤 복잡하며, URL 인터페이스는 리소스가 실제로 존재하는지를 체크하는 기능 등이 부족하다. Resource 인터페이스 org.spring..
아래 포스팅에 대한 상위 메타 문서는 [RTFM] 매일 읽는 공식 문서 를 참고해 주세요. 원문 : https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#beans-java Java 기반 컨테이너 설정 이번 섹션에서는 자바 코드에서 스프링 컨테이너 설정을 어떻게 해야하는지를 알아본다. @Bean과 @Configuration 스프링의 새로운 자바 구성 지원의 중심 요소는 @Configuration 가 적용된 클래스와 @Bean 이 적용된 메서드이다. @Bean 은 메서드에서 스프링 컨테이너에서 관리할 새로운 객체를 생성하고, 구성하고, 초기화할 때 사용한다. @Bean 이 달린 메서드는 어느 @Component 클래스에서..
아래 포스팅에 대한 상위 메타 문서는 [RTFM] 매일 읽는 공식 문서 를 참고해 주세요. 원문 : https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#beans IoC 컨테이너와 빈 첫 챕터에서는 IoC(Inversion of Control)의 원리를 가진 스프링 프레임워크의 구현을 다룬다. IoC는 DI(Dependency Injection)라고도 알려져 있다. 스프링 컨테이너는 빈을 생성할 때 필요한 의존성을 모두 주입한다. 이 과정은 빈이 자신의 생성이나 의존성에 대해 컨트롤하지 않는 과정이므로 기능적으로 제어의 역전(IoC)인 것이다. org.springframework.beans 와 org.springfra..
개요 현재 사용하고 있는 기술에 대해 조금씩 깊이 알게 되거나 알아가야 하는 시점이 도래하면서, 피상적인 정보들만으로는 채울 수 없는, 본질에 대한 욕구가 깊어지고 있었습니다. 마침 제가 몸 담고 있는 커뮤니티에서 [RTFM] 매일 읽는 공식 문서 라는 이름으로 스터디가 열려서 참석하고 있습니다. [RTFM] 매일 읽는 공식 문서 어떤 정보의 전달 방식을 지식 과 경험 으로 나누었을 때, 경험에 대한 전달은 모두가 쉽게 경험할 수 없고 그 자체로 희소성이 있는 내용이지만, 지식에 대한 전달은 비교적 공통의 출처가 정해져 있고, 그 출처에서 파생된 내용을 2차, 3차 가공을 거쳐 게시하는 경우가 많습니다. (저 역시도 그렇고요.) 경험 을 제외한 지식 정보에 한하여, 2차 가공물이라고 볼 수 있는 여러 블..