Spring是一個開源的框架,由Apache公司開發,為了簡化企業級應用開發而生。很多企業在招聘過程中都會詢問求職者對Spring的掌握,因為它是目前比較流行的三大框架之一。接下來的重慶Java學習進階就給大家列舉面試前必須掌握的Spring常用註解。
Java配置類相關註解
@Configuration 聲明當前類為配置類,相當於xml形式的Spring配置(類上);
@Bean 註解在方法上,聲明當前方法的返回值為一個bean,替代xml中的方式(方法上);
@Configuration 聲明當前類為配置類,其中內部組合了@Component註解,表明這個類是一個bean(類上);
@ComponentScan 用於對Component進行掃描,相當於xml中的(類上);
@WishlyConfiguration 為@Configuration與@ComponentScan的組合註解,可以替代這兩個註解。
聲明bean的註解
@Component 組件,沒有明確的角色;
@Service 在業務邏輯層使用(service層);
@Repository 在數據訪問層使用(dao層);
@Controller 在展現層使用,控制器的聲明(C)。
注入bean的註解
@Autowired:由Spring提供;
@Inject:由JSR-330提供;
@Resource:由JSR-250提供;
都可以註解在set方法和屬性上,推薦註解在屬性上。
環境切換
@Profile 通過設定Environment的ActiveProfiles來設定當前context需要使用的配置環境(類或方法上)。
@Conditional Spring4中可以使用此註解定義條件話的bean,通過實現Condition接口,並重寫matches方法,從而決定該bean是否被實例化(方法上)。
切面(AOP)相關註解
Spring支持AspectJ的註解式切面編程。
@Aspect 聲明一個切面(類上)
使用@After、@Before、@Around定義建言(advice),可直接將攔截規則(切點)作為參數。
@After 在方法執行之後執行(方法上);
@Before 在方法執行之前執行(方法上);
@Around 在方法執行之前與之後執行(方法上);
@PointCut 聲明切點;
在Java配置類中使用@EnableAspectJAutoProxy註解開啟Spring對AspectJ代理的支持(類上)。
異步相關
@EnableAsync 配置類中,通過此註解開啟對異步任務的支持,敘事性AsyncConfigurer接口(類上)。
@Async 在實際執行的bean方法使用該註解來申明其是一個異步任務(方法上或類上所有的方法都將異步,需要@EnableAsync開啟異步任務)。
定時任務相關
@EnableScheduling 在配置類上使用,開啟計劃任務的支持(類上);
@Scheduled 來申明這是一個任務,包括cron,fixDelay,fixRate等類型(方法上,需先開啟計劃任務的支持)。
想了解更多高級Java工程師面試題,你可以關注「重慶千鋒」微信公眾號,定期發布技術熱點和行業趨勢分析,助力你快速入職。你也可以參加千鋒重慶Java培訓班,快速系統的學習進階,做企業需要的高職高能Java人才!
文章來源: https://twgreatdaily.com/zh-mo/MnT5FnABjYh_GJGVM8sD.html