AOP 3

[토비의 스프링] 8장: 스프링이란 무엇인가?

토비의 스프링: Vol. 1: 스프링의 이해와 원리 스프링의 정의 스프링의 정의: 자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크 애플리케이션 프레임워크: 특정 계층이나, 기술, 업무 분야에 국한되지 않고 애플리케이션의 전 영역을 포괄하는 범용적인 프레임워크 스프링의 일차적인 존재 목적: 핵심 기술에 담긴 프로그래밍 모델을 일관되게 적용해서 엔터프라이즈 애플리케이션 전 계층과 전 영역에 전략과 기능을 제공해줌으로써 애플리케이션을 편리하게 개발하게 해주는 애플리케이션 프레임워크 경량급: 군더더기 없이 깔끔한 기술을 가진 프레임워크 자바 엔터프라이즈 개발을 편하게: 개발자가 복잡하고 실수하기 쉬운 로우레벨 기술에 많은 신경을 쓰지 않으면서도 애플리케이션의 핵심인 사용자의 요구사..

[토비의 스프링] 7장: 스프링 핵심 기술의 응용

토비의 스프링: Vol. 1: 스프링의 이해와 원리 스프링의 3대 핵심 기술 IoC/DI 서비스 추상화 AOP 스프링이 가장 가치를 두고 적극적으로 활용하려고 하는 것은 결국 자바 언어가 기반을 두고 있는 객체지향 기술 리소스 변환 DI JAXB(Java Architecture for XML Binding): XML를 동일한 구조의 오브젝트로 매핑해줌 언마샬링(unmarshalling): XML 문서를 읽어서 자바의 오브젝트로 변환 마샬링(marshalling): 바인딩 오브젝트를 XML 문서로 변환 스프링에서는 자신을 참조하는 자기참조 빈을 만들 수 있음 디폴트 의존관계: 외부에서 DI 받지 않는 경우 기본적으로 자동 적용되는 의존관계 서비스 추상화 OXM(Object-XML Mapping): XML과..

[토비의 스프링] 6장: AOP

토비의 스프링: Vol. 1: 스프링의 이해와 원리 스프링의 3대 기반기술 IoC/DI 서비스 추상화 AOP 단위 테스트 고립된 단위 테스트: 고립된 테스트를 하면 테스트가 다른 의존 대상에 영향을 받을 경우를 대비해 복잡하게 준비할 필요가 없을 뿐만 아니라, 테스트 수행 성능도 크게 향상된다 단위 테스트와 통합 테스트 단위 테스트: 목 오브젝트 등의 테스트 대역을 이용해 의존 오브젝트나 외부의 리소스를 사용하지 않도록 고립시켜서 수행하는 테스트 통합 테스트: 두 개 이상의, 성격이나 계층이 다른 오브젝트가 연동하도록 만들어 테스트하거나, 외부의 DB나 파일, 서비스 등의 리소스가 참여하는 테스트 테스트 작성 툴 목 프레임워크: Mockito와 같은 목 오브젝트 지원 프레임워크 등을 이용하여 목 오브젝트..