您好,登錄后才能下訂單哦!
1:@Qualifier
@Qualifier 注釋指定注入 Bean 的名稱,這樣歧義就消除了。所以@Autowired 和@Qualifier 結(jié)合使用時(shí),自動(dòng)注入的策略就從 byType 轉(zhuǎn)變成 byName 了。例子如下:
有一個(gè)接口:
public interface EmployeeService { public String getEmployeeById(Long id); }
有兩個(gè)實(shí)現(xiàn)類:
@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層調(diào)用service層:
@RestController public class EmployeeInfoControl { @Autowired @Qualifier("service") //括號(hào)里面的值是實(shí)現(xiàn)類@service時(shí)給類取得名字,加上此注解不會(huì)報(bào)錯(cuò) private EmployeeService employeeService; @RequestMapping("/emplayee.do") public void showEmplayeeInfo(){ String employeeById = employeeService.getEmployeeById(1l); System.out.println("employeeById值為"+employeeById); } } //此時(shí)會(huì)報(bào)錯(cuò) 因?yàn)锧Autowired // private EmployeeService employeeService; //注入的是service層的接口,此時(shí)有兩個(gè)實(shí)現(xiàn),不知道綁定的是哪個(gè)實(shí)現(xiàn)。 //此時(shí)應(yīng)該在@Autowired下面配合@Qualifier注釋使用,用來說明要綁定的具體是哪個(gè)實(shí)現(xiàn)類 //如上面所示
2:@RestController
注解在類上,表示這是一個(gè)控制層bean。常用于控制層類的前面,是@ResponseBody和@Controller的合集 。
3:@RequestMapping
提供路由信息,負(fù)責(zé)URL到Controller中的具體函數(shù)的映射。
4:@SpringBootApplication
該注解用在運(yùn)行類之上,相當(dāng)于@EnableAutoConfiguration、@ComponentScan和@Configuration的合集。
5:@Import
用來導(dǎo)入其他配置類。
6:@Autowired
自動(dòng)導(dǎo)入依賴的bean。
7:@Service
注解在類上,表示這是一個(gè)業(yè)務(wù)層bean。
8:@Repository
注解在類上,表示這是一個(gè)數(shù)據(jù)訪問層bean。使用@Repository注解可以確保DAO或者repositories提供異常轉(zhuǎn)譯,這個(gè)注解修飾的DAO或者repositories類會(huì)被ComponetScan。
9:@Query
自定義SQL查詢語句
10:@Entity
用在實(shí)體類的前面,表示這是一個(gè)實(shí)體類。
11:@Table(name=“”)
用在實(shí)體類的前面,一般和@Entity一起使用,表示該實(shí)體類映射數(shù)據(jù)庫中的某張表。
12:@Column
表示實(shí)體類的某個(gè)屬性映射為表中的某個(gè)字段,包含的設(shè)置如下:name:數(shù)據(jù)庫表字段名;unique:是否唯一 ;nullable:是否可以為空 ;Length:長(zhǎng)度。
13:@Id
該注釋用在實(shí)體類中,寫在哪個(gè)屬性的前面,表示該屬性映射到數(shù)據(jù)庫中的字段為主鍵。
14:@GeneratedValue
表示主鍵的生成策略,和@Id一起使用
15:@Transient
表示該屬性并非一個(gè)到數(shù)據(jù)庫表的字段的映射,ORM框架將忽略該屬性。如果一個(gè)屬性并非數(shù)據(jù)庫表的字段映射,就務(wù)必將其標(biāo)示為@Transient。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)億速云的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。