2

私は Java を初めて使用する会社で働いています。私は唯一の Java プログラマーであり、数か月以内に約 10 のシステムを作成する必要があります。会社には、基本的な Java を知っているプログラマーが他に 2 人います。春などではありません。

Spring、hibernate、MySQL を使用して多くのプロトタイプを作成しました。SAによって、EJBを使用するように勧められています(JBossを入手したばかりです)。そのため、マネージャーは、DAO と Hibernate レイヤーを EJB に移動することを考えています。

したがって、MVC (Web) に Spring を使用し、すべてのデータ アクセスに EJB クラスを実行するようにして、Jr プログラマーが MySQL と AS/400 へのアクセス方法を知る必要がないようにします。

だから私の質問のために。EJB 内で Spring を使用できるかどうか知りたい.. JDBCTemplate と Hibernate のようなもの。私がしようとしているのは、DAOレイヤーをEJB内に移動することです..

これはできますか?もしそうなら、それはすべきですか?

4

4 に答える 4

2

Spring は軽量コンテナーであるため、多くの場合、EJB の代替品と見なされます。ほとんどのアプリケーションやユースケースではないにしても、多くの場合、コンテナとしてのSpringは、トランザクション、ORM、およびJDBCアクセスの分野での豊富なサポート機能と組み合わされており、EJBコンテナとEJBを介して同等の機能を実装するよりも優れた選択肢であると確信しています。 .

ただし、Spring を使用しても EJB を使用できなくなるわけではないことに注意してください。実際、Spring を使用すると、EJB にアクセスし、EJB とその機能を実装することがはるかに簡単になります。さらに、Spring を使用して EJB によって提供されるサービスにアクセスすると、これらのサービスの実装を後で透過的にローカル EJB、リモート EJB、または POJO (プレーン オールド Java オブジェクト) バリアント間で切り替えることができます。クライアント コードを変更する必要はありません。

リンクは次のとおりです。

http://static.springsource.org/spring/docs/2.5.4/reference/ejb.html

于 2013-01-04T15:07:27.437 に答える
2

EJB 内で Spring を使用できますが、かなり複雑であり、Spring を単独で使用するよりもメリットがありません。そうすることはお勧めしません。

于 2013-01-04T14:17:34.803 に答える
0

はい、できます。EJBS を扱うSpring Framework ドキュメント第 22 章を見てください。Spring POJOSアノテーションを使用したり、EJB レイヤーでアノテーションを使用したりすることもできます。@EJB@Autowired

プログラマーは、Spring と EJB を組み合わせるたびに Pink Dolphin が死んでしまうと言う傾向があります。

于 2013-01-04T14:44:59.343 に答える
0

要件を確認し、システムの設計について考えてください。あなたの場合、Spring と Java EE の混在がベスト プラクティスだと思いますか? このシステムは、本番環境で管理、拡張、保守可能ですか?

Spring+Hibernate を使用でき、かつ JNDI 構成のデータソースを使用できます。tomcat のみを使用してこれを行うこともできます。

DAO 層だけを EJB に配置する適切な設計上の理由が見当たらないので、設計について考えて、そのための議論を準備してください。IMHO、これは取り違えであり、システムをより複雑でエラーのあるものにしています。

ビジネス全体と永続化レイヤーを EJB に移行することは合理的かもしれませんが、それは具体的な状況によって異なります。賛否両論のリストを書いてみてください。利点は何ですか、短所は何ですか。

于 2013-01-04T14:45:20.267 に答える