javascript
springboot中得注解_Spring以及SpringBoot中的常用的注解小结
一、注解的基本概念
Annotation(注解)就是Java提供了一種元程序中的元素關(guān)聯(lián)任何信息和著任何元數(shù)據(jù)(metadata)的途徑和方法。Annotion(注解)是一個(gè)接口,程序可以通過反射來獲取指定程序元素的Annotion對(duì)象,然后通過Annotion對(duì)象來獲取注解里面的元數(shù)據(jù)。
二、常用注解
2.1 依賴注入相關(guān)的
@Repository 作用于數(shù)據(jù)訪問層,向Ioc容器中注入組件;
@Service 作用于業(yè)務(wù)邏輯層,向Ioc容器中注入組件;
@Controller 作用于表現(xiàn)層,向Ioc容器中注入組件;
@Component 普通組件,可以被注入到spring容器進(jìn)行管理;
@Resource(name="") 默認(rèn)按照名稱進(jìn)行裝配,名稱可以通過name屬性進(jìn)行指定,如果沒有指定name屬性,當(dāng)注解寫在字段上時(shí),默認(rèn)取字段名進(jìn)行安裝名稱查找,如果注解寫在setter方法上默認(rèn)取屬性名進(jìn)行裝配。當(dāng)找不到與名稱匹配的bean時(shí)才按照類型進(jìn)行裝配。
@Qualifier 按照名字注入
@Autowired 自動(dòng)注入,默認(rèn)按照byType進(jìn)行注入,如果發(fā)現(xiàn)找到多個(gè)bean,則又按照byname進(jìn)行查詢,如果還是多個(gè)則拋出異常;
@ComponentScan 掃描特定路徑下的類
@Scope 類的生命周期,默認(rèn)是單例模式,即scope="singleton"。另外scope還有prototype(每次獲取Bean的時(shí)候會(huì)有一個(gè)新的實(shí)例)、
request(表示該針對(duì)每一次HTTP請(qǐng)求都會(huì)產(chǎn)生一個(gè)新的bean,同時(shí)該bean僅在當(dāng)前HTTP request內(nèi)有效)、
session(表示會(huì)話,即在同一個(gè)會(huì)話中,被注解的Bean都是使用的同一個(gè)Bean,不同的會(huì)話使用不同的Bean)、
global session(每個(gè)全局的HTTP Session,使用session定義的Bean都將產(chǎn)生一個(gè)新實(shí)例。)作用域
2.2 Aop相關(guān)的
@Aspect 標(biāo)識(shí)該類為切面類;
@Pointcut 定義切入點(diǎn)表達(dá)式,例如@Pointcut("execution(* org.study.service.impl..*.*(..))");
@Around 定義某個(gè)方法為環(huán)繞通知;
@Before 前置通知;
@AfterReturning 后置通知;
@AfterThrowing 異常通知;
@After 最終通知,不管異常還是正常,都會(huì)執(zhí)行該通知;
@EnableAspectJAutoProxy 開啟AOP注解;
2.3 讀取配置相關(guān)
(1)@Configuration、@Bean :spring 3.0 引入的,和 @Configuration一起工作,用來表明當(dāng)前類為一個(gè)配置類,可以在當(dāng)前類中創(chuàng)建對(duì)象添加到ioc容器中,示例如:
@Configuration
public class ApplicationConfig {
@Bean(value = "helloService")
public HelloService helloService(){
return new HelloService();
}
}
@Value 讀取配置文件的信息,例如:@Value("${jdbc.driver}");
@Import 加載其他配置類,例如:@Import(value = JdbcConfiguration.class);
@ImportResource 用來加載spring的配置文件,例如:@ImportResource("classpath:config.xml");
@PropertySource 和 @PropertySources 指定配置文件的信息,如:@PropertySource("classpath:jdbcConfig.properties");
@ConfigurationProperties springboot中的讀取配置文件的配置,例如:@ConfigurationProperties(prefix = "spring.datasource");
2.4 springMvc相關(guān)的注解
@Controller 標(biāo)識(shí)當(dāng)前類為一個(gè)控制器;
@RestController 標(biāo)識(shí)當(dāng)前類為一個(gè)Rest風(fēng)格的控制器,相當(dāng)于@Controller和@RequestBody的結(jié)合;
@RequestMapping 用來處理請(qǐng)求地址映射的注解;
@RequestParam 綁定請(qǐng)求的參數(shù)值,例如:public String requestparam1(@RequestParam String username);
@RequestBody 放在方法上表示返回json類型的數(shù)據(jù),放在方法參數(shù)里表示接受json類型的數(shù)據(jù),并格式化為對(duì)象;
@PathVariable 可以用來映射URL中的占位符到目標(biāo)方法的參數(shù)中;
@RequestHeader 綁定請(qǐng)求頭的信息到參數(shù)中;
@CookieValue 用來獲取cookie中的值;
@EnableTransactionManagement 開啟事務(wù)的支持;
@Transactional 該方法或者類開啟事務(wù);
2.6 測(cè)試相關(guān)
@Runwith 指定一個(gè)運(yùn)行器,如:@RunWith(SpringJUnit4ClassRunner.class);
@Test 標(biāo)注該方法為一個(gè)測(cè)試方法;
2.7 緩存相關(guān)
@EnableCache 啟用緩存
@Cacheable 添加緩存
@Cacheput 更新緩存
@CahceEvict 清除緩存
@Caching 緩存的復(fù)雜組合,相當(dāng)于多個(gè)注解的組合
@CacheConfig 緩存的公共配置
三、總結(jié)
通過上述的注解,我們基本上掌握的spring開發(fā)的基本注解;最重要的還是活學(xué)活用,記在腦海里;
總結(jié)
以上是生活随笔為你收集整理的springboot中得注解_Spring以及SpringBoot中的常用的注解小结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 配置环境_JavaJDK环境变量配置
- 下一篇: virsh 网络设置_KVM使用Netw