spring的Java註解方式

  以往咱們在使用spring的時候都是用一堆<>這個玩意(尖括號)的xml文件來配置spring,在xml裏都是"xxx"來配置須要的內容信息,在""雙引號內編譯期可不會檢查到你有沒有寫錯,或者是定義了多個相同id的bean,還有就是你修改了Java文件,忘記修改xml配置文件,也不會給你提醒的。結果就是沒多少開發者對xml有好感。因此今天我要說的就是使用Java的方式來配置spring。spring

  1.在定義spring配置文件以前還要告訴spring須要掃描的基礎包(這個在xml裏配置啦):編程

  <context:component-scan base-package="此處填寫你的基礎包名" />component

 

  2.定義一個至關於xml文件的class:xml

  @Configuration開發

  public class A {  //這就至關於一個spring的xml 文件了,有木有很簡單io

    //定義一個bean編譯

    @Beanclass

    public B b() {  //方法名就是bean的id基礎

      return new B();配置

    }

  }

  

  3.對於那些使用構造方法注入的方式以下:

  @Bean

  public C c() {

    return new C(b());  //構造方法注入,有木有很簡單,徹底和Java編程思想統一了

  }

 

  4.set方法注入:

  @Bean

  public D d() {

    D d = new D();

    d.setB(b());  //這樣就好啦

    return d;  

  }

  也行你會說,這樣聲明方法來裝配bean的引用,是否是每次獲取的bean引用都是惟一的啊。這裏有必要說一下,這裏並非調用方法名,若是真的是調用方法名的話,返回的必定是多例的。而spring可不是(默認單例,只返回一個bean引用),經過使用@Bean註解b(),c(),d()方法,會告訴spring咱們但願該方法定義的bean要被註冊進spring的應用上下文中。所以,在其餘的bean的聲明方法中引用這個方法時,spring都會攔截該方法的調用,並嘗試在應用上下文中查找該bean,而不是讓方法建立一個新實例。

相關文章
相關標籤/搜索