** 자기 공부용 및 암기용으로 포스팅하는 글 입니다.
** 정확한 정보는 보장 할 수 없으니, 참고용으로만 봐주시면 감사하겠습니다.
** 제 개인적인 생각 및 자기 암시목적으로 작성되기에 이점 양해 부탁드립니다.
들어가기에 앞서..
Spring Framework의 특징인 POJO.
어느 글에서 POJO 프로그래밍을 지향해야한다는 말 본적이 있었는데
POJO가 뭔지 확인해 보는 시간을 가져보자.
★ 알아볼 내용
1. Spring Framework의 특징 - POJO
내용 설명
1. Spring Framework의 특징 - POJO
Spring의 삼각형 이라는 그림이 있다. 위 그림 하나로 Spring의 핵심 개념들을 모두 표현하고 있다라고 봐도 무방하다.
POJO라는 것은 IoC/DI, AOP, PSA를 통해서 달성할 수 있다라는 의미로 해석된다.
우선 POJO가 무엇일까?
Plain Old Java Object라는 뜻으로
Java로 생성하는 순수한 객체라는의미로 풀어서 해석이 가능하다.
그렇다면 우리는 POJO 프로그래밍을 지향하게 될 경우 돌아올 이점에 대해서 생각을 해보자.
- 특정 환경이나 기술에 종속적이지 않아 재사용 용이, 확장 가능한 유연한 코드 작성 가능
- 저수주 레벨의 기술과 환경에 종속코드 제거를 통해 코드가 깔끔해짐
- 코드가 깔끔해져 디버깅이 쉬움
- 특정 기수리나 환경에 종속되지 않아서 테스트가 단순해짐.
- 객체지향적인 설계를 제한없이 적용할 수 있음.
이제 우리는 POJO 프로그래밍을 지향해야 하는 이유를 알게 되었다.
그러나 POJO 프로그래밍으로 작성한 코드라고 불리우기 위해선 두 가지의 기본 조건이 주어진다.
1) Java나 Java의 스펙에 정의된 것 이외에는 다른 기술이나 규약에 얽매이지 않아야한다.
1-ex) 자바에서 제공하는 getter / setter만 가지고 있는 코드 [ 1번 조건에 충족 ]
public class User {
private String userName;
private String id;
private String password;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
2) 특정 환경에 종속적이지 않아야 한다.
2-ex)
서블릿 기반의 웹 어플리케이션을 실행할 때, 사용하는 컨테이너를 아파치 톰캣에서 jetty로 변경하게 될 때, 기본 아파치
톰캣에서 사용하는 라이브러리를 사용하지 않아 포팅작업에 유용하게 하는 것. [ 2번 조건 충족 ]
다음에는 POJO 프로그래밍을 하기 위해서 필요한 IoC/DI, PSA, AOP에 관하여 배우는 시간을 가져보자
'Spring 지식 및 공부' 카테고리의 다른 글
[Spring] 아키텍처 ( Architecture ) (0) | 2024.07.04 |
---|---|
[Spring] AOP & PSA (0) | 2024.07.03 |
[Spring] IoC/DI (1) | 2024.06.30 |
[Spring] Lombok 사용 방법 및 적용 방법 (0) | 2024.06.19 |
[Spring] 실습 환경 구성 + Spring Boot 2.x 사용방법 (0) | 2024.06.17 |