Framework | Library | Tool/Spring Core 3

스프링의 AOP

애플리케이션은 핵심 기능과 부가 기능으로 로직을 구별할 수 있습니다. 핵심 기능 : 특정 객체가 제공하는 객체 고유의 기능 부가 기능 : 핵심 기능을 보조하는 기능. 로그, 트랜잭션 등 부가 기능은 주로 공통 로직입니다. 반복된 코드가 곳곳에서 나타납니다. 중복이 발생합니다. 변경이 일어날 때, 그만큼 수정해야 합니다. AOP 관점 지향 프로그래밍(Aspect-Oriented Programming) 반복되는 부가 기능을 모아 모듈화하는 개발방법입니다. 객체 지향 프로그래밍에서 발생하는 중복을 제한하는 보조 방법입니다. AspectJ Framework AOP를 구현한 프레임워크입니다. 오류 검사, 오류 처리, 동기화, 캐싱, 모니터링, 로깅 등을 모듈화할 수 있습니다. 스프링은 AspectJ의 문법을 차용..

Spring Triangle : 스프링을 지탱하는 원리

Dependency Injection Inversion of Control Portable Service Abstraction Dependency Injection 소개 의존성은 쉽게 이야기하면 new입니다. DI는 new를 사용하여 어떤 컴포넌트에 의존성을 주입하는 것입니다. DI 방법 의존성은 크게 2가지 방법으로 주입할 수 있습니다. Constructor Injection 컴포넌트를 생성할 때 컨테이너에 있는 의존성을 주입합니다. DI 시점을 파악할 수 있습니다. 권장되는 DI 방법입니다. Setter Injection 생성된 컴포넌트에 임의의 시점에 의존성을 주입합니다. DI 시점을 파악하기 어렵습니다. @Autowired와 @Resource Autowired 스프링 프레임워크 에너테이션 Type..

Spring Properties 주요 설정

application.properties 주요 설정들 Datasource spring.datasource.driver-class-name : DB 드라이버 spring.datasource.url : jdbc url spring.datasource.username : DB 접근 계정 spring.datasource.password : DB 계정 비밀번호 JPA setting spring.jpa.hibernate.ddl-auto : DDL 모드. 실제 "hibernate.hbm2ddl.auto"속성. spring.jpa.database-platform : 작동할 DB의 이름이며 기본적으로 자동 감지됩니다. 사용하는 DB에 맞게 방언을 설정합니다. spring.jpa.generate-ddl : 시작시 스키마를..