The Debugging Chronicles : "코드의 미학"
POJO란? 본문
POJO
Plain OId java Object
VO Value Object == DTO
"오래된 방식의 간단한 자바 객체"
간단하게 말해서 특정 프레임워크나 라이브러리에 종속되지 않는 순수한 자바 객체를 말한다.
POJO는 복잡한 상속 구조나 인터페이스를 요구하지 않고 간단한 getter/setter메서드와
필드를 이용하여 객체의 상태를 관리하는 방식으로 코드를 작성하는 것을 의미한다.
POJO를 이용한 코드
public class Member {
private int id;
private String name;
private String email;
// 기본 생성자
public Member() {}
// 매개변수가 있는 생성자
public Member(int id, String name, String email) {
this.id = id;
this.name = name;
this.email = email;
}
// Getter와 Setter
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
POJO를 무시한 코드
public class POJOClass extends UserService{
private String name;
private int age;
@Override
public List<User> findUsers() {
return super.findUsers();
}
}
Spring의 POJO 개념을 지킨 코드
public class POJOClass{
@Autowired
UserRepository userRepository;
private String name;
private int age;
public void test(){
userRepository.findAll();
}
}
@autowired를 활용하여 의존성 주입을 하면
직접적으로 extends, implements를 하지 않아도 해당 클리스의 메소드에 접근할 수 있다.
이렇게 되면 당연히 POJO를 무시한 코드에 비해 많은 장점이 존재한다.
의존성 주입 덕분에, UserRepository의 내부 구현이 변경되어도 POJOClass의 코드를 수정할 필요가 없다.
'Spring' 카테고리의 다른 글
[Spring] 어노테이션 Controller, RequestMapping (0) | 2024.10.08 |
---|---|
[Spring] viewResolver - 스프링으로 설정하기 (0) | 2024.10.08 |
[Spring] 실습 - 스프링 제공 설정으로 바꿔보기 (0) | 2024.10.07 |
[Spring] doAction - 응답(페이지 이동) (0) | 2024.10.07 |
[Spring] ViewResolver (0) | 2024.10.07 |