Java製WebアプリケーションフレームワークのSpringを実務で使っていて気づいた小ネタを2点ほど。
- SpringのセッションID発行はコード上でのセッションスコープのBeanの参照と連動します。セッションスコープを指定したBeanを定義してDI等でインスタンスを生成すると発行されるようになります。セッションスコープ指定Beanを定義してもインスタンスを生成しなければ発行されません
- Spring MVCのテストフレームワークであるMockMvcを使った単体テストでモック化した ServletContextインスタンスが必要になったときはMockServletContextクラスを
@Autowired
によるDI等でインスタンス化すればよいです
Spring、アノテーションによる挙動の指定はたいへん便利で人気があるのもわかりますが、ちょっと追い込んだことをしようとするとどこで何が生じているのかがわかりづらいのが難点です。個人的にはもうちょっと挙動のわかりやすい薄いフレームワークのほうが好み、と使ってみてあらためてたしかめた次第。