728x90
POJO 기반의 구성
POJO 란?
- Plain Old Java Object 의 약자
- 특정 규약이나 프레임워크, 클래스를 상속받지 않는 간단한 Java 객체를 말함.
- Serializable 인터페이스 처럼 최소한의 Java 표준을 따르며, 특정 인터페이스를 구현하거나 클래스를 확장하지 않고도 자유롭게 작성될 수 있음.
public interface MessageService {
String getMessage();
}
public class SimpleMessageService implements MessageService {
@Override
public String getMessage() {
return "Hello, Spring framework"
}
}
위 MessageService
는 인터페이스이며, SimpleMessageService
는 이 인터페이스를 구현하는 POJO 임. SimpleMessageService
는 특별한 의존성이 없고, Spring의 API에 의존하지 않음.
왜 필요함?
- 단순성
POJO 는 특정 기술에 종속되지 않기 때문에 이해하기 쉽고, 유지 관리가 간편함. - 테스트 용이성
POJO 는 독립적인 구조를 가지므로, Spring 과 같은 컨테이너 환경을 구성하지 않고도 단위 테스트가 가능 - 재사용성 및 확장성
POJO 를 사용함으로써 다른 Java 애플리케이션에서도 재사용할 수 있으며, 변경 사항이 있을 때 다른 부분에 영향을 미치지 않고 수정이 가능함. - 경량성
POJO 는 가벼우므로 애플리케이션의 성능 부담을 줄입니다.
Spring 의 구성 요소와 POJO
Spring은 다음과 같은 여러 기능을 통해 POJO 를 지원함.
- Dependency Injection(DI)
Spring 의 DI 기능을 통해, 객체는 필요한 의존성을 외부에서 주입받을 수 있으므로, 각 객체는 의존성 구성에 대해 알 필요가 없음. - ➡️ 코드의 결합도를 낮추고, 유연성과 테스트 용이성을 향상시킴.
- Aspect-Oriented Programming(AOP)
AOP 를 사용하여 트랜잭션 관리나 보안과 같은 서비스를 POJO 에 적용할 수 있음. - Transaction Management
Spring 은 선언적 트랜잭션 관리를 제공하여 POJO 에 트랜잭션 관리 코드를 작성할 필요가 없도록 한다.
Spring Index
- Spring FrameWork의 핵심
- POJO 기반의 구성
- 제어의 역전(IoC)
- 의존성 주입
- DI 와 IoC
- DI 와 DIP
- 스프링에서의 의존성 주입이란
- 스프링에서는 어떻게 구현하는가?
- 왜 의존성 주입을 사용해야 하는가?
- DI 방식의 장단점
- 생성자(constructor) 주입
- 수정자(setter) 주입
- field 주입
- AOP(Aspect-Oriented Programming) 관점 지향 프로그래밍
- AOP 의 용어
- Spring Bean 이란?
- Spring Bean Scope
- Spring Bean LifeCycle
- Bean LifeCycle
- Bean LifeCycle CallBack
- Spring Container
- DL(Dependency LookUp) 이란?
- SpringBoot 와 Spring 의 차이 (왜 Boot 를 쓸까?)
- Controller로 들어오는 입력값에 대한 Validation 방법
- Interceptor vs AOP vs Filter
728x90
'99클럽 TIL' 카테고리의 다른 글
99클럽 코테 스터디 20일차 TIL Spring 의존성 주입 (0) | 2024.05.07 |
---|---|
99클럽 코테 스터디 19일차 TIL Spring 제어의 역전(IoC) (0) | 2024.05.06 |
99클럽 코테 스터디 18일차 TIL OOP (0) | 2024.05.04 |
99클럽 코테 스터디 16일차 TIL Java Class 멤버 변수 초기화 순서, 접근 제어자 (0) | 2024.05.03 |
99클럽 코테 스터디 15일차 TIL Java Multi-Thread 환경에서의 개발 (0) | 2024.05.02 |
Comment