LoginSignup
0
1

More than 5 years have passed since last update.

spring framework 簡易勉強メモ(一):ApplicationContext、Bean、Autowired

Posted at

spring framework 簡易勉強メモ(一):ApplicationContext、Bean、Autowired

本質

  • new classの回避
  • IoC、DI、依存性の注入

考え方

  • 容器の定義(ApplicationContext)
  • 入れ物の定義(Bean)

定義方法

  • A、JAVAベース
  • B、XMLベース
  • C、アノテーションベース★

JAVAベース

XMLベース

  • XMLファイルより

アノテーションベース

Beanの参照

  • A、setXXX()
  • B、コンストラクタ()
  • C、@Autowired

@Autowired

  • @Autowired(required = false)
    • injection時値が必須かどうか設定、未設定時エラーを回避
  • @Qualifier("XXX")
    • injection時型ベース⇒名前ベース、同じ型複数Beanを注入可能
  • @Bean(name = "XXX")
    • 指定可能
  • @XXX
    • アノテーションの自分定義が可能
  • @Resource
    • フィールドまたプロパティ
  • ListやMapで一括Autowiredは可能

@ComponentScan

Beanのスコープ

  • singleton(default)
    • DIコンテナに同一のインスタンス
  • porototype
    • Beanを取得時インスタンスを生成
  • session session単位
  • request request単位
  • など略

異なるスコープ問題の理解

  • 生成インスタンスの本質から考慮
  • scoped proxyの使用

容器の破棄

  • 明示的にクロース context.close()
  • try-with-resources

Configの分割

  • @import({AxxConfig.class,BxxConfig.class})

Configurationのプロファイル化

  • @profile("development")
  • @profile("production")
  • 環境ごとで上記を選択可能
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1