44日目(Spring Framework2)
BeanFactoryの復習
昨日はlibフォルダ内にライブラリを追加したけど、今日はMavenを利用
Eclipseで新規>Springレガシープロジェクト>Simple Javaを選択して完了
(これは今だけで、今後はSpring MVC Projectとか選ぶことになるらしい)
プロジェクトフォルダができたらその上で右クリック>構成>Mavenプロジェクトに変換
MavenPOMウィンドウが開くが、特に変更しないで完了
pom.xmlが作成され、そこで読み込みたいライブラリを指定する
- グループid
- アーティファクトid
- バージョン
を、
依存関係タブで入れるか、
Mavenリポジトリのサイトで使いたいライブラリのコードをpom.xmlにコピペするか
↑のどっちかの方法でMaven管理が可能
Spring AOP
(言葉の意味はあんまり気にしない)
ある機能だけを分離して、つけ外ししやすくする技術らしい
(≠フィルター:フィルターはリクエストとレスポンスの際に間に入るだけ)
メリット
- メソッドから処理を分離できる
- 処理の後付けや取り外しができる
(クラスファイルを変更しなくていいので、必要な記述の削除などのミスを防ぎつつ機能追加ができるらしい)
- ログ処理
- トランザクション処理
- 認証チェック
- 例外処理
とかで使えるとのこと
がある
AOP用語
Advice:分離した共通の処理
Join Point:Adviceを入れるタイミング
参考:
ざっくりとSpringで使うAOPの解釈をする
https://qiita.com/ughirose/items/a7c66782f93cd1ae0d68
Spring AOP利用方法
Bean定義ファイルにAOP関係の記述を追加
Aspect用のクラスを作成
@Before("execution(* *(..))")とか@After("execution(void someMethod(..))")みたいな
※@Before()の()内のことをPointcutと呼ぶ
あんまり呑み込めなかった部分
・AdviceのメソッドにはJoinPoint型のオブジェクトを引数に指定できる
・Around AdviceではProceedingJoinPoint型のオブジェクトを引数に指定して、proceedメソッドを呼ばないといけない
※ここがFilterのchain.doFilterっぽい?と思った
今日はここまで。
フレームワークの恩恵はまだ先…
とりあえずつっかえた部分を噛み砕く
また来週