這篇文章給大家分享的是有關(guān)SpringBoot常用注解有哪些的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
10多年的黃山網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷型網(wǎng)站的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整黃山建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“黃山網(wǎng)站設(shè)計(jì)”,“黃山網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
SpringBoot注解
@SpringBootApplication:開啟Spring Boot自動(dòng)配置的核心注解,相關(guān)等同于@Configuration,@EnableAutoConfiguration和@ComponentScan三個(gè)注解同時(shí)使用。
@EnableAutoConfiguration:SpringBoot自動(dòng)配置開啟注解。開啟之后,會(huì)嘗試根據(jù)添加到classpath中jar依賴自動(dòng)配置相關(guān)組件。是Spring Boot自動(dòng)配置機(jī)制的核心注解之一。
@ConditionalOnXXXX:Spring Boot基于@Conditional擴(kuò)展出的衍生注解,根據(jù)是否滿足某一個(gè)特定條件來(lái)決定是否加載指定的Bean。比如擴(kuò)展出的注解有:@ConditionalOnBean、@ConditionalOnClass等。
@ConfigurationProperties:基于類型安全的屬性配置注入,可以將properties屬性和一個(gè)Bean及其屬性關(guān)聯(lián),從而實(shí)現(xiàn)類型安全配置。
Spring基礎(chǔ)注解
@Conditional:是Spring Boot中大量使用的注解之一,它可以根據(jù)是否滿足某一個(gè)特定條件來(lái)決定是否加載指定的Bean。
@ComponentScan:該注解默認(rèn)會(huì)掃描該類所在的包下所有的配置類,相當(dāng)于xml中的context:component-scan。如果掃描到有@Component、@Controller、@Service等注解的類,將其注冊(cè)為Bean,也可以自動(dòng)收集所有的Spring組件,包括@Configuration類。Spring Boot中會(huì)掃描啟動(dòng)類所在包下以及子包下的使用了以上注解的類。
@Configuration:用于定義配置類,可替換xml配置文件,被注解的類內(nèi)部包含有一個(gè)或多個(gè)被@Bean注解的方法。
@Profile:提供了一種隔離應(yīng)用程序配置的方式,并讓這些配置只能在特定的環(huán)境下生效。任何@Component或@Configuration都能被@Profile標(biāo)記,從而限制加載它的時(shí)機(jī)。
@Import:用來(lái)導(dǎo)入其他配置類,作用就是和xml配置的import標(biāo)簽作用一樣,允許通過(guò)它引入@Configuration注解的類(java config),Spring4.2以后也可以導(dǎo)入普通的Java并將其聲明為一個(gè)bean。
@ImportResource:用來(lái)導(dǎo)入一個(gè)傳統(tǒng)的xml配置文件。
@Autowired:自動(dòng)導(dǎo)入依賴的bean,可以對(duì)類成員變量、方法及構(gòu)造函數(shù)進(jìn)行標(biāo)注,完成自動(dòng)裝配的工作。與@Resource功能相似,但默認(rèn)根據(jù)類型進(jìn)行自動(dòng)裝配的,如果需要按名稱進(jìn)行裝配,則需要配合@Qualifier。
@Service:一般用于標(biāo)注業(yè)務(wù)層組件,表示定義一個(gè)bean,自動(dòng)根據(jù)bean的類名實(shí)例化一個(gè)首寫字母為小寫的bean。
@Component:泛指組件,當(dāng)組件不好歸類的時(shí)候,可以使用這個(gè)注解進(jìn)行標(biāo)注。
@Repository:持久層組件,用于標(biāo)注數(shù)據(jù)訪問組件,即DAO組件。
@Bean:用@Bean標(biāo)注方法等價(jià)于XML中配置的bean。
@Value:將配置文件中key對(duì)應(yīng)的值賦值給它標(biāo)注的屬性。
@Inject:是JSR330中的規(guī)范,等價(jià)于默認(rèn)的@Autowired。根據(jù)類型進(jìn)行自動(dòng)裝配的,如果需要按名稱進(jìn)行裝配,則需要配合@Named。
@Bean:相當(dāng)于XML中的,放在方法的上面,而不是類,意思是產(chǎn)生一個(gè)bean,并交給spring管理。
@AutoWired:自動(dòng)導(dǎo)入依賴的bean。byType方式。把配置好的Bean拿來(lái)用,完成屬性、方法的組裝,它可以對(duì)類成員變量、方法及構(gòu)造函數(shù)進(jìn)行標(biāo)注,完成自動(dòng)裝配的工作。當(dāng)加上(required=false)時(shí),就算找不到bean也不報(bào)錯(cuò)。
@Qualifier:當(dāng)有多個(gè)同一類型的Bean時(shí),可以用@Qualifier(“name”)來(lái)指定。與@Autowired配合使用。@Qualifier限定描述符除了能根據(jù)名字進(jìn)行注入,但能進(jìn)行更細(xì)粒度的控制如何選擇候選者。
@Resource:JSR250規(guī)范的實(shí)現(xiàn),根據(jù)名稱進(jìn)行自動(dòng)裝配的,一般會(huì)指定一個(gè)name屬性。
@JsonBackReference:jackson框架注解,解決嵌套外鏈問題。
@PropertySource:加載指定配置文件,通常為自定義properties文件。
Spring Web注解鄭州人流醫(yī)院哪家好 http://mobile.zhongyuan120.com/
@ResponseBody:表示該方法的返回結(jié)果直接寫入HTTP response body中,一般在異步獲取數(shù)據(jù)或接口的交互時(shí)使用,用于構(gòu)建RESTful的api。一般情況下會(huì)將返回的類轉(zhuǎn)為Json字符串的形式返回給客戶端。
@Controller:將被修飾的類被實(shí)例化并注入Spring IOC容器中。語(yǔ)義化的作用,即代表該類是充當(dāng)Controller的作用。一般由該類(控制器)負(fù)責(zé)將用戶發(fā)來(lái)的URL請(qǐng)求轉(zhuǎn)發(fā)到對(duì)應(yīng)的服務(wù)接口(service層)。
@RestController:用于標(biāo)注控制層組件,@ResponseBody和@Controller的合集。
@RequestMapping:提供路由信息,負(fù)責(zé)URL到Controller中的具體函數(shù)的映射。
@GetMapping:是一個(gè)組合注解,是@RequestMapping(method=RequestMethod.GET)的縮寫。
@PostMapping是一個(gè)組合注解,是@RequestMapping(method=RequestMethod.POST)的縮寫。
@PathVariable:spring3.0的一個(gè)新功能,用于接收請(qǐng)求路徑中占位符的值。通過(guò)@PathVariable可以將URL中占位符參數(shù)綁定到控制器處理方法的入?yún)⒅校篣RL中的{xxx}占位符可以通過(guò)@PathVariable(“xxx“)綁定到操作方法的入?yún)⒅小?/p>
@RequestParam:將請(qǐng)求參數(shù)綁定到控制器的方法參數(shù)上。
@ControllerAdvice:一個(gè)增強(qiáng)的Controller,常用于全局異常處理、全局?jǐn)?shù)據(jù)綁定、全局?jǐn)?shù)據(jù)預(yù)處理等。
@ExceptionHandler:與@ControllerAdvice結(jié)合使用,用于統(tǒng)一異常處理。
JPA注解
@Entity:表明這是一個(gè)實(shí)體類,比如實(shí)體類UserEntity,默認(rèn)對(duì)應(yīng)數(shù)據(jù)庫(kù)中的表名是user_entity。一般與@Table結(jié)合使用,是如果表名和實(shí)體類名相同的話,@Table可以省略。
@Table:當(dāng)實(shí)體類與其映射的數(shù)據(jù)庫(kù)表名不同名時(shí)需要使用@Table注解說(shuō)明,該標(biāo)注與@Entity注解并列使用,置于實(shí)體類聲明語(yǔ)句之前,可寫于單獨(dú)語(yǔ)句行,也可與聲明語(yǔ)句同行。
@MappedSuperClass:注解使用在父類上面,標(biāo)識(shí)的類表示其不能映射到數(shù)據(jù)庫(kù)表,被標(biāo)識(shí)的類不能再使用@Entity或@Table注解。
@NoRepositoryBean:一般用作父類的repository,告訴JPA不要?jiǎng)?chuàng)建對(duì)應(yīng)接口的bean對(duì)象就在類上加@NoRepositoryBean注解。
@Column:用來(lái)標(biāo)識(shí)實(shí)體類中屬性與數(shù)據(jù)表中字段的對(duì)應(yīng)關(guān)系,如果字段名與列名相同,則可以省略。
@Id:表示該屬性為主鍵。
@GeneratedValue:為實(shí)體生成唯一標(biāo)識(shí)的主鍵提供生成策略。主鍵生成策略包括sequence,Auto、IDENTITY、native等,Auto表示可在多個(gè)數(shù)據(jù)庫(kù)間切換。
@Transient:表示該屬性不進(jìn)行數(shù)據(jù)庫(kù)表的字段映射,ORM框架將忽略該屬性。
@JsonIgnore:作用是json序列化時(shí)將Java bean中的一些屬性忽略掉,序列化和反序列化都受影響。
@JoinColumn:用來(lái)指定與所操作實(shí)體或?qū)嶓w集合相關(guān)聯(lián)的數(shù)據(jù)庫(kù)表中的列字段。一對(duì)一,本表中指向另一個(gè)表的外鍵;一對(duì)多,另一個(gè)表指向本表的外鍵。
@OneToOne、@OneToMany、@ManyToOne:對(duì)應(yīng)hibernate配置文件中的一對(duì)一,一對(duì)多,多對(duì)一。
感謝各位的閱讀!關(guān)于“SpringBoot常用注解有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
當(dāng)前文章:SpringBoot常用注解有哪些
URL鏈接:http://aaarwkj.com/article20/igceco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、網(wǎng)站營(yíng)銷、做網(wǎng)站、定制開發(fā)、手機(jī)網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)