職業訓練覚え書き

44日目(Spring Framework2)

BeanFactoryの復習

昨日はlibフォルダ内にライブラリを追加したけど、今日はMavenを利用

 

Eclipseで新規>Springレガシープロジェクト>Simple Javaを選択して完了
(これは今だけで、今後はSpring MVC Projectとか選ぶことになるらしい)

 

プロジェクトフォルダができたらその上で右クリック>構成>Mavenプロジェクトに変換
MavenPOMウィンドウが開くが、特に変更しないで完了

 

pom.xmlが作成され、そこで読み込みたいライブラリを指定する

 

読み込みたいやつはMavenリポジトリとかで検索

を、

依存関係タブで入れるか、
Mavenリポジトリのサイトで使いたいライブラリのコードをpom.xmlにコピペするか

↑のどっちかの方法でMaven管理が可能

 

Spring AOP

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っぽい?と思った

 

今日はここまで。
フレームワークの恩恵はまだ先…

とりあえずつっかえた部分を噛み砕く

 

また来週