網(wǎng)站建設(shè)應(yīng)該學(xué)什么軟件域名查詢ip網(wǎng)站
Spring常見注解
注解一:@Configuration
用在類上面,加上這個(gè)注解的類可以成為一個(gè)spring的xml配置文件,使用的是java代碼的配置
注解二:@ComponentScan
用在類上,加上注解可以指定掃描路徑
注解三:創(chuàng)建對(duì)象的注解
1. @Controller:通常用于Controller類,也就是控制層(MVC)。
2. @Service:通常用于Service類,也就是服務(wù)層。
3. @Repository:通常用于DAO類,也就是持久層。
4. @Component:通用創(chuàng)建
注意:
1. 不指定bean的名稱,默認(rèn)為類的小寫首字母的名字
2. 指定bean的名稱
注解四:@Autowired【默認(rèn)BY TYPE】
這個(gè)注解可以用于屬性,setter方法,還有構(gòu)造器上,這個(gè)注解用于注入依賴的對(duì)象。當(dāng)再一個(gè)屬性上加上@Autowired注解,有時(shí)可能要指定一些額外的值,Spring然后會(huì)自動(dòng)的將值賦給這個(gè)屬性。
注解五:@Qualifier
這個(gè)注解和@Autowired一起使用,當(dāng)想對(duì)注入的過程做更多的控制,@Qualifier可以幫助指定做更詳細(xì)的配置。一般在兩個(gè)或多個(gè)bean是相同的類型,spring在注入的時(shí)候會(huì)出現(xiàn)混亂,如果只是使用@Autowired的話就會(huì)出現(xiàn)混亂,但是使用@Qualifier的話可以實(shí)現(xiàn)區(qū)分作用。
注解六:@Resource【默認(rèn)BY NAME】
spring將name屬性解析為bean的名字,而type屬性則被解析為bean的類型。所以如果使用name屬性,就使用ByName的自動(dòng)注入策略,如果使用Type類型則使用ByType的自動(dòng)注入策略。如果都沒有指定,則通過反射機(jī)制使用ByName自動(dòng)注入策略。
注解七:Bean的生命范圍和生命周期
?注解八:@ContextConfiguration
?實(shí)現(xiàn):
1. xml實(shí)現(xiàn)
2. 純注解方式
注解九:面向切面編程注解
1. @Pointcut
這個(gè)注解為面向切面編程的注解,這個(gè)注解使用在方法上,用于導(dǎo)入某一個(gè)方法到此方法上,如下所示:
當(dāng)我們需要使用面向編程的時(shí)候,首先我們需要在該類上加上一個(gè)注解@Aspect表示這個(gè)類是切面;然后我們可以在對(duì)應(yīng)的位置加上@Pointcut表示這個(gè)方法作為連接點(diǎn),使用對(duì)應(yīng)的方法!
2. @Aspect
表示這個(gè)類是一個(gè)切面
3. @Before(" ") ----- 前置通知
4. @After(" ") ---- 后置通知
5. @Around(" ") ---- 環(huán)繞通知
MVC常見注解
注解十 @Requestmapping
這是一個(gè)方法注解,用來設(shè)置當(dāng)前控制器方法請(qǐng)求訪問路徑
注解十一 @ResponseBody
設(shè)置當(dāng)前控制器方法響應(yīng)內(nèi)容為當(dāng)前返回值,無需解析
注解十二 @RequestBody和@RequestParam
注解十三 @EnableWebMvc
想要啟用spring mvc的時(shí)候,應(yīng)用使用注解@EnableWebMvc啟用spring mvc的配置,另外,如果想自定義這些配置,就使用一個(gè)可以托管到spring容器的配置類,繼承WebMvcConfigurerAdapter類并重寫需要自定義配置的那些方法。