Spring中常用注解的用法
Spring的常用注解
使用注解前唯一需要注解的就是,開啟注解掃描
?<context:component-scan base-package="com.guo"></context:component-scan> <context:annotation-config/>
1. @Comment
作用: 把資源讓spring來管理,相當于在xml中配置一個bean。
屬性: 指定bean的id。
如果不指定value屬性,默認bean就是id當前的類名,首字母小寫。(一般就是默認的)
2. @Controller、@Service、@Repository
他們?nèi)齻€注解都是針對一個的衍生注解,他們的作用及屬性都是一模一樣的。他們只不過是提供了更加明確的語義化。
- @Controller: 一般用于控制層的注解
- @Service: 一般用于服務(wù)層的注解
- @Repository: 一般用于dao數(shù)據(jù)交互層的注解
如果注解中有且只有一個屬性要賦值時,且名稱是 value , value 在賦值是可以不寫。
3. @Autowired
作用: 自動按照類型注入,當使用注解注入屬性時,set方法可以省略。
它只能注入其他bean類型,當有多個類型匹配時,使用時要注入的對象變量名稱作bean的id,在spring容器中查找,找到了就注入成功。找不到就注入失敗。

4. @Configuration
作用: 用于指定當前類時一個 spring配置類 當創(chuàng)建容器時會從該類上加載注解。
獲取容器時需要使用 AnnotationApplicationContext( 有 @Configuration 注解的類 .class) 。
屬性: value:用于指定配置類的字節(jié)碼。
5. @ComponentScan
作用: 用于指定Spring容器在初始化容器時需要掃描的包。
作用在和spring的xml配置文件中是一樣的
< context:component-scan base-package =" com.itheima " />
屬性: basePackages :用于指定要掃描的包。
和該注解中的 value 屬性作用一樣。
/**
* spring 的配置類,相當于 bean.xml 文件
*/
@Configuration
@ComponentScan("com.xxxx")
Public class SpringConfiguration{
}6. @Bean
作用: 該注解只能寫在方法上,表示使用此方法創(chuàng)建一個對象,并放入Spring容器中。
屬性: name:給當前 @Bean 注解方法創(chuàng)建的對象指定一個名稱 ( 即 bean 的 id )。
7. @PropertySource
作用: 用于加載 .properties 文件中的配置。例如我們配置數(shù)據(jù)源時,可以把連接數(shù)據(jù)庫的信息寫到properties 配置文件中,就可以使用此注解指定 properties 配置文件的位置。
屬性: value[] :用于指定 properties 文件位置。如果是在類路徑下,需要寫上 classpath:
8. @Import
作用: 在一個配置類中導(dǎo)入其他配置類的內(nèi)容
9. 切面AOP的相關(guān)注解
Spring是支持面向切面編程。
- @Aspect 聲明一個切面
- @After 在方法執(zhí)行之后執(zhí)行(方法上)
- @Before 在方法執(zhí)行之前執(zhí)行(方法上)
- @Around 在方法執(zhí)行之前與之后執(zhí)行(方法上)
- @PointCut 聲明切點
10. Bean的屬性支持
@Bean的設(shè)置(作用域) 設(shè)置Spring容器如何新建Bean實例
Singleton 單例Bean,在spring IoC容器僅存在一個Bean實例,Bean以單例方式存在,bean作用域范圍的默認值。
Protetype 原型Bean,每次從容器中調(diào)用Bean時,都返回一個新的實例,即每次調(diào)用getBean()時,相當于執(zhí)行newXxxBean()。
Request 請求Bean,每次HTTP請求都會創(chuàng)建一個新的Bean,該作用域僅適用于web的Spring WebApplicationContext環(huán)境。
Session 會話Bean,同一個HTTP Session共享一個Bean,不同Session使用不同的Bean。該作用域僅適用于web的Spring WebApplicationContext環(huán)境。
GlobalSession 全局會話Bean,限定一個Bean的作用域為ServletContext的生命周期。該作用域僅適用于web的Spring WebApplicationContext環(huán)境。
到此這篇關(guān)于Spring中常用注解的用法的文章就介紹到這了,更多相關(guān)Spring常用注解內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于springboot設(shè)置Https請求過程解析
這篇文章主要介紹了基于springboot設(shè)置Https請求過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08
Spring中過濾器和攔截器的區(qū)別及具體實現(xiàn)方式
在Spring框架中,和都是用于處理 HTTP 請求的中間件,但它們在作用范圍、實現(xiàn)方式和生命周期上有顯著區(qū)別,本文給大家介紹Spring中過濾器和攔截器的區(qū)別及具體實現(xiàn),感興趣的朋友一起看看吧2025-07-07
Spring?Boot?消息隊列與異步處理的應(yīng)用小結(jié)
這篇文章給大家介紹了Spring?Boot?消息隊列與異步處理的應(yīng)用小結(jié),本文結(jié)合實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2026-04-04

