SpringBoot常用注解有哪些

這篇文章給大家分享的是有關SpringBoot常用注解有哪些的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

10多年的黃山網站建設經驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。營銷型網站的優(yōu)勢是能夠根據用戶設備顯示端的尺寸不同,自動調整黃山建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)從事“黃山網站設計”,“黃山網站推廣”以來,每個客戶項目都認真落實執(zhí)行。

SpringBoot注解

@SpringBootApplication:開啟Spring Boot自動配置的核心注解,相關等同于@Configuration,@EnableAutoConfiguration和@ComponentScan三個注解同時使用。

@EnableAutoConfiguration:SpringBoot自動配置開啟注解。開啟之后,會嘗試根據添加到classpath中jar依賴自動配置相關組件。是Spring Boot自動配置機制的核心注解之一。

@ConditionalOnXXXX:Spring Boot基于@Conditional擴展出的衍生注解,根據是否滿足某一個特定條件來決定是否加載指定的Bean。比如擴展出的注解有:@ConditionalOnBean、@ConditionalOnClass等。

@ConfigurationProperties:基于類型安全的屬性配置注入,可以將properties屬性和一個Bean及其屬性關聯(lián),從而實現(xiàn)類型安全配置。

Spring基礎注解

@Conditional:是Spring Boot中大量使用的注解之一,它可以根據是否滿足某一個特定條件來決定是否加載指定的Bean。

@ComponentScan:該注解默認會掃描該類所在的包下所有的配置類,相當于xml中的context:component-scan。如果掃描到有@Component、@Controller、@Service等注解的類,將其注冊為Bean,也可以自動收集所有的Spring組件,包括@Configuration類。Spring Boot中會掃描啟動類所在包下以及子包下的使用了以上注解的類。

@Configuration:用于定義配置類,可替換xml配置文件,被注解的類內部包含有一個或多個被@Bean注解的方法。

@Profile:提供了一種隔離應用程序配置的方式,并讓這些配置只能在特定的環(huán)境下生效。任何@Component或@Configuration都能被@Profile標記,從而限制加載它的時機。

@Import:用來導入其他配置類,作用就是和xml配置的import標簽作用一樣,允許通過它引入@Configuration注解的類(java config),Spring4.2以后也可以導入普通的Java并將其聲明為一個bean。

@ImportResource:用來導入一個傳統(tǒng)的xml配置文件。

@Autowired:自動導入依賴的bean,可以對類成員變量、方法及構造函數進行標注,完成自動裝配的工作。與@Resource功能相似,但默認根據類型進行自動裝配的,如果需要按名稱進行裝配,則需要配合@Qualifier。

@Service:一般用于標注業(yè)務層組件,表示定義一個bean,自動根據bean的類名實例化一個首寫字母為小寫的bean。

@Component:泛指組件,當組件不好歸類的時候,可以使用這個注解進行標注。

@Repository:持久層組件,用于標注數據訪問組件,即DAO組件。

@Bean:用@Bean標注方法等價于XML中配置的bean。

@Value:將配置文件中key對應的值賦值給它標注的屬性。

@Inject:是JSR330中的規(guī)范,等價于默認的@Autowired。根據類型進行自動裝配的,如果需要按名稱進行裝配,則需要配合@Named。

@Bean:相當于XML中的,放在方法的上面,而不是類,意思是產生一個bean,并交給spring管理。

@AutoWired:自動導入依賴的bean。byType方式。把配置好的Bean拿來用,完成屬性、方法的組裝,它可以對類成員變量、方法及構造函數進行標注,完成自動裝配的工作。當加上(required=false)時,就算找不到bean也不報錯。

@Qualifier:當有多個同一類型的Bean時,可以用@Qualifier(“name”)來指定。與@Autowired配合使用。@Qualifier限定描述符除了能根據名字進行注入,但能進行更細粒度的控制如何選擇候選者。

@Resource:JSR250規(guī)范的實現(xiàn),根據名稱進行自動裝配的,一般會指定一個name屬性。

@JsonBackReference:jackson框架注解,解決嵌套外鏈問題。

@PropertySource:加載指定配置文件,通常為自定義properties文件。

Spring Web注解鄭州人流醫(yī)院哪家好 http://mobile.zhongyuan120.com/

@ResponseBody:表示該方法的返回結果直接寫入HTTP response body中,一般在異步獲取數據或接口的交互時使用,用于構建RESTful的api。一般情況下會將返回的類轉為Json字符串的形式返回給客戶端。

@Controller:將被修飾的類被實例化并注入Spring IOC容器中。語義化的作用,即代表該類是充當Controller的作用。一般由該類(控制器)負責將用戶發(fā)來的URL請求轉發(fā)到對應的服務接口(service層)。

@RestController:用于標注控制層組件,@ResponseBody和@Controller的合集。

@RequestMapping:提供路由信息,負責URL到Controller中的具體函數的映射。

@GetMapping:是一個組合注解,是@RequestMapping(method=RequestMethod.GET)的縮寫。

@PostMapping是一個組合注解,是@RequestMapping(method=RequestMethod.POST)的縮寫。

@PathVariable:spring3.0的一個新功能,用于接收請求路徑中占位符的值。通過@PathVariable可以將URL中占位符參數綁定到控制器處理方法的入參中:URL中的{xxx}占位符可以通過@PathVariable(“xxx“)綁定到操作方法的入參中。

@RequestParam:將請求參數綁定到控制器的方法參數上。

@ControllerAdvice:一個增強的Controller,常用于全局異常處理、全局數據綁定、全局數據預處理等。

@ExceptionHandler:與@ControllerAdvice結合使用,用于統(tǒng)一異常處理。

JPA注解

@Entity:表明這是一個實體類,比如實體類UserEntity,默認對應數據庫中的表名是user_entity。一般與@Table結合使用,是如果表名和實體類名相同的話,@Table可以省略。

@Table:當實體類與其映射的數據庫表名不同名時需要使用@Table注解說明,該標注與@Entity注解并列使用,置于實體類聲明語句之前,可寫于單獨語句行,也可與聲明語句同行。

@MappedSuperClass:注解使用在父類上面,標識的類表示其不能映射到數據庫表,被標識的類不能再使用@Entity或@Table注解。

@NoRepositoryBean:一般用作父類的repository,告訴JPA不要創(chuàng)建對應接口的bean對象就在類上加@NoRepositoryBean注解。

@Column:用來標識實體類中屬性與數據表中字段的對應關系,如果字段名與列名相同,則可以省略。

@Id:表示該屬性為主鍵。

@GeneratedValue:為實體生成唯一標識的主鍵提供生成策略。主鍵生成策略包括sequence,Auto、IDENTITY、native等,Auto表示可在多個數據庫間切換。

@Transient:表示該屬性不進行數據庫表的字段映射,ORM框架將忽略該屬性。

@JsonIgnore:作用是json序列化時將Java bean中的一些屬性忽略掉,序列化和反序列化都受影響。

@JoinColumn:用來指定與所操作實體或實體集合相關聯(lián)的數據庫表中的列字段。一對一,本表中指向另一個表的外鍵;一對多,另一個表指向本表的外鍵。

@OneToOne、@OneToMany、@ManyToOne:對應hibernate配置文件中的一對一,一對多,多對一。

感謝各位的閱讀!關于“SpringBoot常用注解有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

當前文章:SpringBoot常用注解有哪些
URL鏈接:http://bm7419.com/article20/igceco.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供域名注冊網站營銷、做網站定制開發(fā)、手機網站建設、靜態(tài)網站

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網站建設