1、 @configuration
表明這個乙個配置類,主要用於配置bean。例如通過@bean註解往ioc容器中新增bean
@configuration
public class mainconfig
}
public class main
}
2、@componetscan
可以掃瞄指定包下的帶有@componet、@service等註解的類,並把他們加入到ioc容器中,就可以不用自己去@bean註解手動返回乙個bean了。
@configuration
@componentscan(basepackages = "service")
public class mainconfig {}
3、@scope
使用@scope註解指定bean的作用域,一般與@bean註解一起作用於方法上,或者與compoent註解作用在類上。其共有四種作用域
singleton 單例(預設)4、importprototype 多例
request 同一請求
session 同一回話
除開@componetsan+@service、@controller.. 和@bean,import也可以往ioc容器中加入元件
@configuration
@import() //默元件id是類的全路徑名稱
public class mainconfig
importselecotr
通過@import中的importselector可以指定類名稱
public class zhaiimportselector implements importselector ;
}}
@configuration
@import()
public class mainconfig
importbeandefinitionregister
通過@import中的importbeandefinitionregister可以指定bean的名稱
public class zhaiimportdefinitionregister implements importbeandefinitionregistrar
}
@configuration
@import()
public class mainconfig
5、bean的初始化方法和銷毀方法
bean的宣告週期
註冊bean定義資訊到容器中 -> 執行構造方法 -> 屬性賦值 -> 初始化 ->銷毀
單例模式下,容器啟動時,bean物件就初始化了,當容器銷毀時也會呼叫bean物件的destory方法
多例模式下,容器啟動時,bean物件不會被初始化,而是當呼叫是才會被初始化。並且bean銷毀不受容器管理,而是有gc**。
指定bean的初始化方法和銷毀方法
實現initializingbean和disposablebean
public class person implements initializingbean, disposablebean
@override
public void destroy() throws exception
@override
public void afterpropertiesset() throws exception
}
手動指定
@configuration
public class mainconfig
}
Spring中常用註解
註解的好處在於大大的減少了人們開發的程式設計量,提高了程式設計效率,那麼下面就接受經常用到的一些註解及其含義等。componentscan 元件掃瞄,可自動發現和裝配一些bean。component可配合commandlinerunner使用,在程式啟動後執行一些基礎任務。restcontrolle...
Spring 中常用的註解
1 用於註冊bean物件的註解 1.1 component 作用 呼叫無參構造建立乙個bean物件,並把物件存入spring的ioc容器,交由spring容器進行管理。相當於在xml中配置乙個bean。屬性 value 指定bean的id。如果不指定value屬性,預設bean的id是當前類的類名。...
Spring 中常用的幾種註解
spring 2.5 中除了提供 component 注釋外,還定義了幾個擁有特殊語義的注釋,它們分別是 repository service 和 controller。在目前的 spring 版本中,這 3 個注釋和 component 是等效的,但是從注釋類的命名上,很容易看出這 3 個注釋分別...