Spring 常用註解大全
阿新 • • 發佈:2019-12-31
Spring部分
1、宣告bean的註解 @Component 元件,沒有明確的角色 @Service 在業務邏輯層使用(service層) @Repository 在資料訪問層使用(dao層) @Controller 在展現層使用,控制器的宣告(C)2、注入bean的註解
@Autowired:由Spring提供 @Inject:由JSR-330提供 @Resource:由JSR-250提供 都可以註解在set方法和屬性上,推薦註解在屬性上(一目瞭然,少寫程式碼)。3、java配置類相關註解
@Configuration 宣告當前類為配置類,相當於xml形式的Spring配置(類上) @Bean 註解在方法上,宣告當前方法的返回值為一個bean,替代xml中的方式(方法上) @Configuration 宣告當前類為配置類,其中內部組合了@Component註解,表明這個類是一個bean(類上) @ComponentScan 用於對Component進行掃描,相當於xml中的(類上) @WishlyConfiguration 為@Configuration與@ComponentScan的組合註解,可以替代這兩個註解4、切面(AOP)相關註解
Spring支援AspectJ的註解式切面程式設計。 @Aspect 宣告一個切面(類上) 使用@After、@Before、@Around定義建言(advice),可直接將攔截規則(切點)作為引數。 @After 在方法執行之後執行(方法上) @Before 在方法執行之前執行(方法上) @Around 在方法執行之前與之後執行(方法上) @PointCut 宣告切點 在java配置類中使用@EnableAspectJAutoProxy註解開啟Spring對AspectJ代理的支援(類上)5、@Bean的屬性支援
@Scope 設定Spring容器如何新建Bean例項(方法上,得有@Bean) 其設定型別包括: Singleton (單例,一個Spring容器中只有一個bean例項,預設模式),Protetype (每次呼叫新建一個bean),Request (web專案中,給每個http request新建一個bean),Session (web專案中,給每個http session新建一個bean),GlobalSession(給每一個 global http session新建一個Bean例項) @StepScope 在Spring Batch中還有涉及 @PostConstruct 由JSR-250提供,在建構函式執行完之後執行,等價於xml配置檔案中bean的initMethod @PreDestory 由JSR-250提供,在Bean銷燬之前執行,等價於xml配置檔案中bean的destroyMethod6、@Value註解
》注入檔案資源
》注入網站資源
》注入配置檔案
注入配置使用方法: ① 編寫配置檔案(test.properties) book.name=《三體》 ② @PropertySource 載入配置檔案(類上)
③ 還需配置一個PropertySourcesPlaceholderConfigurer的bean。
7、環境切換
@Profile 通過設定Environment的ActiveProfiles來設定當前context需要使用的配置環境。(類或方法上) @Conditional Spring4中可以使用此註解定義條件話的bean,通過實現Condition介面,並重寫matches方法,從而決定該bean是否被例項化。(方法上)8、非同步相關
9、定時任務相關
@EnableScheduling 在配置類上使用,開啟計劃任務的支援(類上) @Scheduled 來申明這是一個任務,包括cron,fixDelay,fixRate等型別(方法上,需先開啟計劃任務的支援)10、@Enable*註解說明
這些註解主要用來開啟對xxx的支援。 @EnableAspectJAutoProxy 開啟對AspectJ自動代理的支援 @EnableAsync 開啟非同步方法的支援 @EnableScheduling 開啟計劃任務的支援 @EnableWebMvc 開啟Web MVC的配置支援 @EnableConfigurationProperties 開啟對@ConfigurationProperties註解配置Bean的支援 @EnableJpaRepositories 開啟對SpringData JPA Repository的支援 @EnableTransactionManagement 開啟註解式事務的支援 @EnableTransactionManagement 開啟註解式事務的支援 @EnableCaching 開啟註解式的快取支援11、測試相關註解
@RunWith 執行器,Spring中通常用於對JUnit的支援@ContextConfiguration 用來載入配置ApplicationContext,其中classes屬性用來載入配置類