MyBatis MapperインターフェースのSpringにおけるインスタンス生成プロセス

SpringとMyBatisを統合する際、一般的に以下の設定を行います。 <bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="org.xuan.springmvc.mapper,org.xuan.springxxx.mapper"/> </bean> 注入されたMapperScannerConfigurerの実装を見てみます。 public class ...

8月7日 14:07 投稿

Spring AOPの核心概念とAspectJアノテーションによる実装

AOP(Aspect-Oriented Programming、アスペクト指向プログラミング)は、ビジネスロジックの横断的な関心事を分離することで、コンポーネント間の結合度を低下させ、コードの再利用性と開発効率を向上させるプログラミングパラダイムです。既存のソースコードを変更することなく、主要な機能にセキュリティチェック、ロギング、トランザクション管理などの新たな処理を追加 ...

8月5日 12:25 投稿

SpringにおけるBean初期化フェーズとBeanPostProcessorの動作機構

初期化フェーズにおけるフック処理の流れ Beanのインスタンス生成およびプロパティバインディング(populateBean)が完了すると、Springコンテナは初期化ステージへ遷移します。この段階ではinitializeBeanメソッドが中枢として機能し、登録済みのBeanPostProcessor実装に対して拡張ポイントの呼び出しを行います。 protected Object executeInitializationPhase(String b ...

7月29日 02:26 投稿

Javaにおけるプロキシパターンの実装

プロキシパターンの概要 プロキシパターンはオブジェクトへのアクセスを制御する設計手法です。Javaでは主に静的なプロキシと動的なプロキシに分類され、それぞれ異なる実装方法と適用場面を持ちます。 静的プロキシの実装 静的なプロキシでは、インタフェースと実装クラスを定義し、明示的にプロキシクラスを作成します。 基本構成 public interface DataProcessor { ...

7月26日 21:23 投稿