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