成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SpringBoot常用注解總結

開發
Qzone 微信 SpringBoot常用注解總結 程序汪布丁 2020-09-23 20:25:07 在SpringBoot框架中,注解作為一種隱式配置,極大的簡化了之前xml文件的配置方式。SpringBoot中包含許多種類的注解,這里對在SpingBoot項目中經常使用到的一些注解的進行大致的歸納總結;

[[343644]]

一、啟動相關
1、@SpringBootApplication
SpringBootApplication注解: 

  1. @Target(ElementType.TYPE) 
  2. @Retention(RetentionPolicy.RUNTIME) 
  3. @Documented 
  4. @Inherited 
  5. @SpringBootConfiguration 
  6. @EnableAutoConfiguration 
  7. @ComponentScan(excludeFilters = { 
  8. @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class), 
  9. @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) }) 
  10. public @interface SpringBootApplication { 

在SpirngBoot啟動類里面,都加入了此啟動注解,此注解是個組合注解,三個比較重要的:

@SpringBootConfiguration 繼承至@Configuration,其實兩種功能一致,都是標注該類為配置類
@EnableAutoConfiguration 這個注解是SpirngBoot自動配置的核心所在,通過此注解,能所有符合自動配置條件的bean的定義加載到spring容器中。
@ComponentScan 該注解會掃描當前包及子包下面被納入sping容器管理的類。
注意事項:

一般我們在實際項目中會根據自己的需要排除一些無需自動配置的類,例如我們會配置自己的數據庫,所以就不需要springboot自動注入數據源,這可以利用exclude進行排除
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
當需掃描第三方jar包時,我們可以通過在配置類中使用@Configuration與@ComponentScan來引入第三方jar包下的類
@Configuration@ComponentScan(basePackages = {"com.test.service"}) //引入第三方jar包下的類
2、@Import
@Import注解可用來導入一個或者多個 Spring 配置文件,特別是第三方jar包下的一些配置類,需要通過Import注解進行加載,代碼如下所示

@Import({KafkaConfig.class, JedisConfig.class}) //引入第三方jar包里配置類

二、配置相關
以一般的的配置類中用到的注解為例

1、@Configuration

@Configuration專門用來標注配置類,它一般會配合
2、@Bean

使用@Bean注解拿到配置返回相關實例,并放入sping容器中統一管理
3、@PropertySource

目的是加載指定路徑下的屬性文件
4、@Value

配合@PropertySource注解使用,指定該字段對應的配置文件中的內容
5、@Order

利用@Order控制配置類的加載順序
結合以上注解對kafka進行配置示例代碼如下

  1. @Configuration 
  2. @PropertySource("classpath:spring-kafka.properties"
  3. @Order(2) 
  4. public class KafkaConfig { 
  5.     @Value("${spring.kafka.bootstrap-servers}"
  6.     private String bootstrapServers; 
  7.     @Bean 
  8.     public KafkaListenerContainerFactory<ConcurrentMessageListenerContainer<Object, Object>> kafkaListenerContainerFactory() { 
  9.         ConcurrentKafkaListenerContainerFactory<Object, Object> factory = new ConcurrentKafkaListenerContainerFactory<Object, Object>(); 
  10.         factory.setConsumerFactory(consumerFactory());        factory.setConcurrency(1); 
  11.         // factory .getContainerProperties().setPollTimeout(1000); 
  12.         return factory; 
  13.     } 

三、構造相關
1、@Service

用于標注服務層,主要用來進行業務的邏輯處理
2、@Repository

用于標注持久層,主要用來進行數據庫相關操作
3、@Component

一個通用的注解,可以注解各種組件,就是說當我們需要注入sping容器中bean類沒有明確分類時(不屬于@service、@Repository等的時候),我們就可以使用@Component來標注這個類。
4、@Scope

spring容器管理bean默認是單例模式,如果你需要使用多例模式可以通過@Scope("prototype")注解來實現。
5、@Autowired

這個就很簡單了,用于Spring容器中Bean類實例的注入
6、@PostConstruct

在Bean初始化之后(構造方法和@Autowired之后)執行指定操作。如果在項目中有些操作需要在Bean類構造后執行,可以使用@PostConstruct注解,實例代碼如下

  1. @RestController 
  2. @RequestMapping("/api"
  3. public class ApiController extends BaseController {    @PostMapping("/login"
  4.     public  User  login(@RequestBody User user){ 
  5.            //代碼 
  6.      } 
  7.     @GetMapping("/getUser"
  8.     public  User  getUser(@RequestParam String userName, @RequestParam String userPhone){ 
  9.            //代碼 
  10.      } 

 

 

責任編輯:姜華 來源: 今日頭條
相關推薦

2024-11-07 16:39:42

SpringBoo常用注解Bean

2021-03-29 09:37:17

SpringBoot常用注解Spring Boot

2023-11-10 08:56:49

Springboot常用的注解

2022-06-15 21:16:49

Java

2024-01-30 10:11:00

SpringBoot項目開發

2019-09-17 16:30:18

java排序算法

2017-03-29 11:20:45

maven插件總結

2020-06-04 10:49:53

Pandas字符串技巧

2022-03-24 07:38:07

注解SpringBoot項目

2009-12-08 18:11:42

PHP系統常量

2010-09-06 13:59:23

CSS縮寫

2017-03-02 14:35:33

Androidgradle常用配置

2021-04-13 20:24:57

Spring Boot注解spring

2023-08-04 07:22:32

SpringBoot項目

2024-09-02 07:54:36

2010-02-25 14:39:03

WCF術語

2016-10-20 20:21:09

Python爬蟲技巧

2009-12-02 20:29:30

PHP常用函數

2009-09-09 13:31:15

C# TextBox

2011-05-07 14:39:00

投影
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 人人看人人爽 | 国产精品日日做人人爱 | 日韩美女爱爱 | 国产一区二区三区 | av先锋资源 | 夜夜爽99久久国产综合精品女不卡 | 欧美一级二级在线观看 | 在线观看欧美日韩视频 | 中文字幕不卡在线观看 | 91一区二区三区 | 久久之精品 | 亚洲激情av | 九九伊人sl水蜜桃色推荐 | 久久久久久国产 | 日韩一区二区三区在线视频 | 国产亚洲精品美女久久久久久久久久 | 亚洲成人在线视频播放 | 日韩欧美在线观看 | 午夜男人视频 | 91成人影院 | 黄色成人在线观看 | 国产精品久久久精品 | 国产做a爱片久久毛片 | 色爽女 | 国产精品综合 | www.玖玖玖| 亚洲乱码一区二区三区在线观看 | 中文字幕成人网 | 欧美精品网站 | 九九久久久 | 欧美激情国产日韩精品一区18 | 国产亚洲精品美女久久久久久久久久 | 久久久高清 | 国产成人精品久久二区二区 | 亚洲欧洲日本国产 | 国产激情在线 | 亚洲精品视频免费看 | 亚洲欧美激情精品一区二区 | 国产视频福利在线观看 | 国产在线一 | 黄色精品|