中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

springboot常用注釋的講解

發布時間:2020-10-10 10:19:28 來源:腳本之家 閱讀:190 作者:Kikityer 欄目:編程語言

1:@Qualifier

@Qualifier 注釋指定注入 Bean 的名稱,這樣歧義就消除了。所以@Autowired 和@Qualifier 結合使用時,自動注入的策略就從 byType 轉變成 byName 了。例子如下:

有一個接口:

public interface EmployeeService {
  public String getEmployeeById(Long id);
}

有兩個實現類:

@Service("service")
public class EmployeeServiceImpl implements EmployeeService{
  @Override
  public String getEmployeeById(Long id) {
    return "0";
  }
}
@Service("service1")
public class EmployeeServiceImpl1 implements EmployeeService{
  @Override
  public String getEmployeeById(Long id) {
    return "1";
  }
}

controller層調用service層:

@RestController
public class EmployeeInfoControl {
  @Autowired
  @Qualifier("service")  //括號里面的值是實現類@service時給類取得名字,加上此注解不會報錯
  private EmployeeService employeeService;
 
  @RequestMapping("/emplayee.do")
  public void showEmplayeeInfo(){
    String employeeById = employeeService.getEmployeeById(1l);
    System.out.println("employeeById值為"+employeeById);
  }
}
//此時會報錯 因為@Autowired
//       private EmployeeService employeeService;
//注入的是service層的接口,此時有兩個實現,不知道綁定的是哪個實現。
//此時應該在@Autowired下面配合@Qualifier注釋使用,用來說明要綁定的具體是哪個實現類
//如上面所示

2:@RestController

注解在類上,表示這是一個控制層bean。常用于控制層類的前面,是@ResponseBody和@Controller的合集 。

  • @ResponseBody:用該注解修飾的函數,會將結果直接填充到HTTP的響應體中,一般用于構建RESTful的api,將java對象轉為json格式的數據。
  • @Controller:用于定義控制器類,在spring 項目中由控制器負責將用戶發來的URL請求轉發到對應的服務接口(service層)。

3:@RequestMapping

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

4:@SpringBootApplication

該注解用在運行類之上,相當于@EnableAutoConfiguration、@ComponentScan和@Configuration的合集。 

  • @EnableAutoConfiguration:Spring Boot自動配置(auto-configuration)。
  • @ComponentScan:表示將該類自動發現(掃描)并注冊為Bean,可以自動收集所有的Spring組件,包括@Configuration類。我們經常使用@ComponentScan注解搜索beans,并結合@Autowired注解導入。
  • @Configuration:相當于傳統的xml配置文件,如果有些第三方庫需要用到xml文件,建議仍然通過@Configuration類作為項目的配置主類 ——可以使用@ImportResource注解加載xml配置文件。

5:@Import

用來導入其他配置類。 

6:@Autowired 

自動導入依賴的bean。

7:@Service 

注解在類上,表示這是一個業務層bean。

8:@Repository

注解在類上,表示這是一個數據訪問層bean。使用@Repository注解可以確保DAO或者repositories提供異常轉譯,這個注解修飾的DAO或者repositories類會被ComponetScan。 

9:@Query  

自定義SQL查詢語句 

10:@Entity  

用在實體類的前面,表示這是一個實體類。 

11:@Table(name=“”) 

用在實體類的前面,一般和@Entity一起使用,表示該實體類映射數據庫中的某張表。

12:@Column

表示實體類的某個屬性映射為表中的某個字段,包含的設置如下:name:數據庫表字段名;unique:是否唯一 ;nullable:是否可以為空 ;Length:長度。

13:@Id

該注釋用在實體類中,寫在哪個屬性的前面,表示該屬性映射到數據庫中的字段為主鍵。

14:@GeneratedValue 

表示主鍵的生成策略,和@Id一起使用 

15:@Transient 

表示該屬性并非一個到數據庫表的字段的映射,ORM框架將忽略該屬性。如果一個屬性并非數據庫表的字段映射,就務必將其標示為@Transient。 

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。如果你想了解更多相關內容請查看下面相關鏈接

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

栖霞市| 三明市| 德江县| 南雄市| 习水县| 茂名市| 广昌县| 颍上县| 南木林县| 政和县| 东丰县| 西吉县| 施甸县| 黑龙江省| 平果县| 五峰| 安丘市| 昌吉市| 凌海市| 宁波市| 仙桃市| 屯昌县| 亚东县| 星座| 新宾| 渭南市| 邮箱| 岳普湖县| 怀柔区| 五家渠市| 陆丰市| 莱西市| 含山县| 教育| 白朗县| 临朐县| 闽清县| 星座| 裕民县| 尉氏县| 乌拉特前旗|