エンタープライズJavaアプリケーションとWebサービスを職場で書いています(Spring、Hibernate、Maven、RESTEasy)およびPHP(CakePHP)とPython(Django)で、サイドプロジェクト用の。
SpringがもたらすInversion of ControlやAspect Oriented Programmingなどがもたらす価値はありますが、Javaスタックにない大規模なWebアプリケーションがSpringのようなフレームワークなしでどのように管理されるかはわかりません。
だから、開発者は、Springが排除するか、何か不足している密結合コンポーネントと他の不満を「我慢する」必要がありますか?
Springに慣れていない人のために、最もよく使用する機能は次のとおりです。
コントロールコンテナの反転:アプリケーションコンポーネントの構成とJavaオブジェクトのライフサイクル管理、
アスペクト指向プログラミング:横断的なルーチンの実装を可能にし、
トランザクション管理:いくつかのトランザクション管理APIを統合し、Javaオブジェクトのトランザクションを調整します。