問題タブ [pojo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
2419 参照

java - Java Pojo を動的に作成する

実行時に Java Pojo を作成するにはどうすればよいですか? これには ASM または BCEL が必要ですか?

XML ファイルを読み込んでおり、この xml に従って Pojo を生成したいと考えています。

0 投票する
2 に答える
13214 参照

java - マップの生成POJOから

私はPOJOと、そのリストを返す(現在はまだ構築されていない)クラスを持っています。POJO に Map としてアクセスするために必要なコードを自動的に生成したいと考えています。これは良い考えですか?自動的に行うことは可能ですか?この方法で処理したいすべての POJO に対して手動でこれを行う必要がありますか?

ありがとう、アンディ

0 投票する
4 に答える
539 参照

java - これらは同義語ですか、相互のサブセットですか、それとも完全に異なりますか?

質問のタイトルで言及されている概念は、ある程度同義ですか?主な違いはどこにあり(コンテキスト、構造など)、あるものを別のサブセットと見なすことができますか?ウィキペディアから抜粋した簡単な定義を次に示します。

POJO(Plain Old Java Object) Wikipedia

コンピューティングソフトウェアでは、POJOはPlain OldJavaObjectの頭字語です。この名前は、特定のオブジェクトが通常のJavaオブジェクトであり、特別なオブジェクトではなく、特にEnterpriseJavaBeanではないことを強調するために使用されます。この用語は、2000年9月にマーティンファウラー、レベッカパーソンズ、ジョシュマッケンジーによって造られました。

Java BeanWikipedia

JavaBeansは、ビルダーツールで視覚的に操作できるJava用の再利用可能なソフトウェアコンポーネントです。実際には、これらは特定の規則に準拠したJavaプログラミング言語で記述されたクラスです。これらは、多くのオブジェクトを単一のオブジェクト(Bean)にカプセル化するために使用されるため、複数の個別のオブジェクトとしてではなく、単一のBeanオブジェクトとして渡すことができます。JavaBeanは、シリアライズ可能で、nullaryコンストラクターを持ち、getterメソッドとsetterメソッドを使用してプロパティにアクセスできるJavaオブジェクトです。

値オブジェクト ウィキペディア

以前は値オブジェクトまたはVOと呼ばれていたデータ転送オブジェクト(DTO)は、ソフトウェアアプリケーションサブシステム間でデータを転送するために使用されるデザインパターンです。DTOは、データベースからデータを取得するために、データアクセスオブジェクトと組み合わせて使用​​されることがよくあります。

ビジネスオブジェクト ウィキペディア

ビジネスオブジェクトは、n層のオブジェクト指向コンピュータプログラムのビジネス層内のアクターである理解可能なエンティティの一種です。

関連している:

DTO、VO、POJO、JavaBeansの違いは? JavaBeanとPOJOの違いは何ですか? DDD:エンティティと値オブジェクトの違いの使い方は何ですか?

0 投票する
3 に答える
883 参照

java - Java RMI:POJOを渡す方法

RMIサービスとクライアントを正常に作成しました。メソッドなどを呼び出すことができます。しかし今、私は次のことを試してみたかったのです。LinkedListのような標準のJavaオブジェクトをサービスでホストしたかったのです。また、LinkedListを使用する既存のコードを「ふり」したかったのです。私が欲しいのは、実際にはサービスによって管理されているLinkedListを取得することですが、通常のLinkedListと同じようにローカルでアクセスできます。その上、.add()が呼び出された場合、サーバーに「Addcalled」と書き込むなど、最小限のロギングを実行したいと思います。

これは本番用ではなく、動作を理解するのに役立ちます。

これまで私はたくさんのことを試しました。最も有望なのは、LinkedListを拡張し、Remoteを実装するクラスを作成したことです。このクラスは、次のようにコンストラクターのレジストリに自分自身を登録しようとします。

try {

UnicastRemoteObject.exportObject((Remote)this); Naming.rebind("theList", (Remote)this); } catch (Exception e) { System.out.println("fail"); System.out.println(e.getMessage()); }

LinkedListを拡張する必要があるため、これを行う必要があります。したがって、UnicastRemoteObjectを拡張できません。

サーバー側でこれを実行しようとすると、次の出力が得られます。

そしてクライアント側では:

前もって感謝します!

0 投票する
4 に答える
385 参照

java - How to "slice" a POJO

I'm borrowing the "slice" meaning from C++.

Let's say I hava a simple POJO that's persisted via Hibernate:

Now, when I retrieve an object from the database I know it was "instrumented" by Hibernate (its real class is a Person-derived generated automatically). I want to convert it back to a "plain" person object. Tnat would be used, for instance, to submit the object to XStream and have the result containing only what Person contains.

I could do it by defining a copy constructor, but I don't want to have the hassle of having to write copy constructors for every ORM class (not to mention the violation of DRY principle).

So I was wondering if

a) is there already a Java lib that does it? b) If not, would it be practical to write one using reflection?

In case of (b), any recomendations/guidelines/code skeletons would be appreciated.

0 投票する
9 に答える
41560 参照

java - Plain Old Java Object (POJO) の意味は何ですか?

Plain Old Java Object (POJO)という用語は何を意味しますか? 十分に説明できるものは見つかりませんでした。

POJO のウィキペディア ページには、POJO は通常の Java オブジェクトであり、特別なオブジェクトではないことが記載されています。では、Java でオブジェクトを特別にするものとしないものは何でしょうか?

上記のページでは、POJO は事前に指定されたクラスを拡張したり、事前に指定されたインターフェイスを実装したり、事前に指定された注釈を含めたりする必要はないと述べています。これは、POJO がのようなインターフェースや、アプレットのようなクラスSerializableComparableまたはその他のユーザー作成のクラス/インターフェースを実装することを許可されていないということでもありますか?

また、上記のポリシー (拡張なし、実装なし) は、外部ライブラリの使用が許可されていないことを意味しますか?

POJO は正確にはどこで使用されますか?

編集:より具体的に言うと、Java または外部ライブラリの一部であるクラス/インターフェースを拡張/実装することは許可されていますか?

0 投票する
7 に答える
16209 参照

java - JavaBeans の代わりに不変の POJO を使用すべきではないのはなぜですか?

現在、いくつかの Java アプリケーションを実装していますが、これまでのところデスクトップ アプリケーションのみです。私は、JavaBeans とも呼ばれるミューテーター (セッターとゲッター)を持つオブジェクトを使用する代わりに、アプリケーション内でデータを渡すために不変オブジェクトを使用することを好みます。

しかし、Java の世界では、JavaBeans を使用する方がはるかに一般的であるように思われますが、代わりに JavaBeans を使用する必要がある理由がわかりません。個人的には、常に状態を変更するのではなく、不変オブジェクトのみを処理する方がコードの見栄えが良くなります。

不変オブジェクトは、項目 15: 可変性を最小化する、Effective Java 2edにも推奨されています。

JavaBeanPersonとして実装されたオブジェクトがある場合、次のようになります。

そして、不変オブジェクトPersonとして実装されたものと同じです:

structまたはCのに近い:

実装の詳細を隠すために、不変オブジェクトにゲッターを含めることもできます。しかし、私はそれを単に使用するだけなのでstruct、「ゲッター」をスキップして単純にすることを好みます。

簡単に言えば、JavaBeans を使用する方が良い理由がわかりません。また、不変の POJO を使用し続けることができるかどうか、またそうする必要があるかどうかもわかりません。

Java ライブラリの多くは JavaBeans をより適切にサポートしているように見えますが、不変の POJO のサポートが徐々に普及していくのではないでしょうか?

0 投票する
2 に答える
883 参照

spring - POJO サーブレットは考慮されていますか?

POJO は Spring の標準ですが、Java EE の世界にも普及しています。非 POJO の 1 つの拠点はサーブレットです。変化に訴えるオープンソースがあるかどうか疑問に思っています。

POJO の例:

class MyHttpServlet { @Inject void doGet (@HttpServletRequest リクエスト リクエスト、@HttpServletResponse レスポンス レスポンス) {..} }

class MyOtherServlet { @Inject void doOther (@OtherServletRequest リクエスト リクエスト、@OtherServletResponse レスポンス レスポンス) {..} }

class MyOneWayServlet { @Inject void doOneWay (@OneWayServletRequest Request リクエスト) {..} }

.....

おそらく、POJO/SoC/疎結合を実用的に作成する方法がすべてです。

Spring の EJB2.x への取り組みは、後で EJB3.x に移行するものをそのまま置き換えますが、サーブレットでは (他の Web フレームワークが行っているように) 上に MVC レイヤーを追加します。

もともと私は、誰かがサーブレットで急進的な方法を想像したかどうかを尋ねていました。答えは明らかにないように思えます。

0 投票する
11 に答える
144679 参照

java - POJOを作成する方法は?

最近、「POJO」(Plain Old Java Objects)について聞き始めました。私はそれをグーグルで検索しましたが、それでも概念をよく理解していません。誰かがPOJOの明確な説明を教えてもらえますか?

変数「id、name、address、salary」を持つクラス「Person」について考えてみます。このシナリオのPOJOをどのように作成しますか?以下のコードはPOJOですか?

0 投票する
1 に答える
4509 参照

java - データベースから収集したオブジェクト配列にデータを格納する方法は?

ここでは、DB からデータを取得するようにコーディングしました。オブジェクト配列(POJO)にデータを格納したい。どうやってするの? このコードは DB にデータを挿入することもできますが、省略します。