Spring特性(1):POJO
📌 1.配置オブジェクトとは?
📎 ポジョって何?
以下の
👉
最終的に、POJOは、以下の条件に基づいて、オブジェクト向けの原理に忠実であり、特定の環境や約定に依存せず、必要に応じて
👉
👉
代表的なのは、以下の3つのケースがPOJOではないことです.で定義されたクラスは拡張できません. の事前定義されたインタフェースは実現できません. で定義されたAnnotationは含まれません. 👉
📎 POJOの強み
👉 Springは を最も基本的な構成部分として使用するスプリングの対象生成と使用の代表的な方法は xmlファイルに明記することなく、コンポーネントを介してオブジェクトをコンポーネントスキャンに注入できます. コンポーネント(「名前」)で空の名前(id)を指定できます. コンポーネント(「名前」)を省略した場合は、クラスの前の文字を小文字に変更して名前を指定します.Ex)Product>@Component("製品")Goods>@Component("商品") servelet-context.xmlファイルのの指定されたパスには、コンポーネントをスキャンするには、コンポーネント登録が必要です. 📖 リファレンス https://astrid-dm.tistory.com/449 https://www.nowwatersblog.com/springboot/springstudy/POJO https://velog.io/@galaxy/Spring%EC%9D%98-%EA%B8%B0%EB%B3%B8-%ED%8A%B9%EC%A7%95-POJO https://velog.io/@seculoper235/0.-Spring-%EC%8A%A4%ED%94%84%EB%A7%81-%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC%EB%9E%80
📎 ポジョって何?
以下の
Getter
、Setter
からなる가장 순수한 형태의 기본 클래스
.Javaを使用してビジネス・サービスを開発する際にビジネス・ロジックだけでなく、トランザクション、セキュリティなどのロジック(Transaction、Multi Thread)を作成する負担を解消するために、EJB(Enterprise Java Beans)
が作成されました.EJBを使用するとUrebellロジックを開発する作業量を減らすことができますが、1つまたは2つの機能を使用するために膨大なEJBsを継承または拡張した場合、単純なサービスであっても、それをより重くしたり、他の機能に置き換えたりするために、コード全体を修正する必要があるという問題が発生します.したがって,JAVAの基本概念をオブジェクト向けに集中し,特定のクラスやライブラリに依存しないPOJO構成を用いてコードを記述すれば,これらの問題を解決できる.따라서 Spring은 POJO 방식을 기반으로 한 웹 프레임워크를 사용하고, IoC와 DI, AOP 등 Spring의 주요 기술을 활용해 POJO 기반의 구성을 이루게 되었다.
👉
POJO 코드 예시
public class User {
private int id;
private String name;
private String email;
public int getId() {
return id;
}
public String getName() {
return name;
}
public String getEmail() {
return email;
}
public void setId(int id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
public void setEmail(String email) {
this.email = email;
}
}
📎 POJO条件最終的に、POJOは、以下の条件に基づいて、オブジェクト向けの原理に忠実であり、特定の環境や約定に依存せず、必要に応じて
재사용
として設計できるオブジェクトである.👉
특정 규약에 종속되지 않아야 한다.
ある約束に従属すると,単一の継承制限のため,オブジェクト向けの設計手法を採用することが難しく,他の環境に移行することも困難である.👉
특정 환경에 종속되지 않아야 한다.
特定のビジネスロジックの処理において外部に属するhttpリクエスト、セッション等が存在する場合は、POJO違反とみなす.そうでなければ、他の環境では使いにくく、ビジネスロジックや技術コンテンツを含むWeb情報コードは理解しにくい.代表的なのは、以下の3つのケースがPOJOではないことです.
단일 책임 원칙을 지키는 클래스여야 한다.
責任とロールの異なるコードは、異なるクラスに分けるべきです.📎 POJOの強み
👉
특정 규약에 종속되지 않아 객체지향 설계를 할 수 있다.
👉 특정 환경에 종속되지 않아 테스트하기 좋다.
👉 특정 규약에 종속되지 않아 로우레벨 코드와 비즈니스 코드가 분리되어 깔끔한 코드 작성이 가능하다.
📎 POJO特性xml에 명시
の方法と@Component
に登録された2つの方法である.@Component 외 @Controller , @Service , @Repository , @Aspect , @Configuration 어노테이션도 컴포넌트 스캔 대상이 된다.
Reference
この問題について(Spring特性(1):POJO), 我々は、より多くの情報をここで見つけました https://velog.io/@alicesykim95/Spring-POJOPlain-Old-Java-Objectテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol