Spring DIおよびAOPをアノテーションで設定する
「Webアプリコンテナ上でのSpring DIコンテナ - oknknicの日記」から更に引き続き、Spring。
準備
それぞれ、ApplicationContext設定ファイルのbeans要素直下に記述する。
フィールドへのDIをアノテーションで設定しますよ
<context:annotation-config/> <bean id="testClass" class="TestClass" /> <bean id="testField" class="TestField" />
public Class TestClass { @Autowired private TestField testField; }
ベースパッケージ以下でアノテーション付与されているものをbeanとして定義しますよ
<context:component-scan base-package="test" />
package test; @Component("testClass") public Class TestClass { }
AOPもアノテーションで設定しますよ
<context:component-scan base-package="test" /> <aop:aspectj-autoproxy />
package test; @Component @Aspect public Class TestAdvice { @Around("execution(public void TestClass.test(..))") public Object aroundPut(ProceedingJoinPoint pjp) throws Throwable { // before Object result = pjp.proceed(); // after return result; } }
参考サイト 入門系
- Spring+HibernateEntityManager(コンポーネント自動検出 with アノテーション編) - Be an Idealistic Realist
- Spring におけるアノテーションと設定ファイルの使い分け - SpEL, util:properties, AOP - なんとなくな Developer のメモ
- http://blogs.yahoo.co.jp/ropenepi/17106630.html
- http://aotan2008.eco.coocan.jp/blog/archives/2009/06/30145600.php
- Springアノテーションの使用2 - W2U開発wiki
- たまご日記(別館) [java][Spring] Spring 2.5 アノテーション