Stručný sprievodca jarnými poznámkami @Enable
1. Prehľad
Jar prichádza so sadou @Povoliť anotácie, ktoré vývojárom uľahčujú konfiguráciu jarnej aplikácie. Tieto anotácie sú používané v spojení s @ Konfigurácia anotácia.
V tomto článku sa pozrieme na niektoré z týchto anotácií:
- @EnableWebMvc
- @EnableCaching
- @EnableScheduling
- @EnableAsync
- @EnableWebSocket
- @EnableJpaRepositories
- @EnableTransactionManagement
- @EnableJpaAuditing
2. @EnableWebMvc
The @EnableWebMvc anotácia sa používa pre umožnenie Spring MVC v aplikácii a funguje tak, že importuje jarnú konfiguráciu MVC z WebMvcConfigurationSupport.
Ekvivalent XML s podobnou funkčnosťou je .
Konfiguráciu je možné upraviť pomocou @ Konfigurácia trieda implementujúca WebMvcConfigurer:
@Configuration @EnableWebMvc verejná trieda SpringMvcConfig implementuje WebMvcConfigurer {@Override public void configureMessageConverters (zoznam prevádzače) {conversters.add (new MyHttpMessageConverter ()); } // ...}
3. @EnableCaching
The @EnableCaching anotácia umožňuje správu vyrovnávacej pamäte riadenú anotáciami spôsobilosť v rámci aplikácie a nám umožňuje používať @Cacheeable a @CacheEvict anotácie v našej aplikácii.
Ekvivalent XML s podobnou funkčnosťou je menný priestor:
@Configuration @EnableCaching verejná trieda CacheConfig {@Bean verejná CacheManager cacheManager () {SimpleCacheManager cacheManager = nový SimpleCacheManager (); cacheManager.setCaches (Arrays.asList (nový ConcurrentMapCache ("predvolený"))); vrátiť cacheManager; }}
Táto anotácia má tiež nasledujúce možnosti:
- režim - označuje, ako by sa mala uplatňovať rada pre ukladanie do pamäte cache
- objednať - označuje poradie poradcu ukladania do pamäte cache pre vykonávanie, keď je aplikovaný na konkrétnom spojovacom mieste
- proxyTargetClass - označuje, či sa majú vytvoriť proxy založené na podtriede (CGLIB), na rozdiel od štandardných proxy založených na rozhraní Java
Túto konfiguráciu je možné opäť upraviť pomocou @ Konfigurácia trieda implementujúca CachingConfigurerSupport trieda:
@Configuration @EnableCaching verejná trieda CacheConfig rozširuje CachingConfigurerSupport {@Bean @Override public CacheManager cacheManager () {SimpleCacheManager cacheManager = nový SimpleCacheManager (); cacheManager.setCaches (Arrays.asList (nový ConcurrentMapCache ("predvolený"))); vrátiť cacheManager; } @Bean @Override public KeyGenerator keyGenerator () {return new MyKeyGenerator (); }}
Viac informácií o využívaní jarného ukladania do vyrovnávacej pamäte nájdete v tomto článku.
4. @EnableScheduling
The @EnableScheduling anotácia umožňuje plánované úlohy a umožňuje nám ich používať @Naplánovaný anotácie v žiadosti. Ekvivalent XML s podobnou funkčnosťou je menný priestor pomocou plánovač atribút.
Túto konfiguráciu je možné opäť upraviť pomocou @ Konfigurácia trieda implementujúca SchedulingConfigurer trieda:
@Configuration @EnableScheduling verejná trieda SchedulingConfig implementuje SchedulingConfigurer {@Override public void configureTasks (ScheduledTaskRegistrar taskRegistrar) {taskRegistrar.setScheduler (taskExecutor ()); } @Bean (destruMethod = "vypnutie") public Executor taskExecutor () {return Executors.newScheduledThreadPool (100); }}
Viac informácií o využívaní jarného plánovania nájdete v tomto článku.
5. @EnableAsync
The @EnableAsync anotácia umožňuje asynchrónne spracovanie v našej aplikácii. Ekvivalent XML s podobnou funkčnosťou je menný priestor pomocou exekútor atribút.
@Configuration @EnableAync verejná trieda AsyncConfig {...}
Ďalšie informácie o použití jarnej asynchronizácie nájdete v tomto článku.
6. @EnableWebSocket
The @EnableWebSocket anotácia je zvyknutá na nakonfigurovať spracovanie požiadaviek webovej zásuvky. Prispôsobenie je možné vykonať implementáciou WebSocketConfigurer trieda:
@Configuration @EnableWebSocket verejná trieda MyConfiguration implementuje WebSocketConfigurer {@Override public void registerWebSocketHandlers (register WebSocketHandlerRegistry) {registry.addHandler (echoWebSocketHandler (), "/ echo"). WithSockJS (); } @Bean public WebSocketHandler echoWebSocketHandler () {vrátiť nový EchoWebSocketHandler (); }}
Viac informácií o používaní Spring Websockets nájdete v tomto článku.
7. @EnableJpaRepositories
The @EnableJpaRepositories anotácia umožňuje úložiská Spring Data JPA skenovaním balíka komentovanej konfiguračnej triedy pre úložiská.
@Configuration @EnableJpaRepositories verejná trieda JpaConfig {...}
Niektoré možnosti dostupné pre túto anotáciu sú:
- hodnotu - alias pre basePackages () atribút
- basePackages - základné balíčky na skenovanie anotovaných komponentov
- enableDefaultTransactions - konfiguruje, či sa majú alebo nemajú povoliť predvolené transakcie pre úložiská Spring Data JPA
- entityManagerFactoryRef - konfiguruje názov súboru EntityManagerFactory definícia fazule, ktorá sa má použiť
8. @EnableTransactionManagement
The @EnableTransactionManagement anotácia umožňuje Springovu schopnosť riadenia transakcií založenú na anotáciách. Ekvivalent XML je menný priestor.
@Configuration @EnableTransactionManagement verejná trieda JpaConfig {...}
Viac informácií o používaní správy jarných transakcií nájdete v tomto článku.
9. @EnableJpaAuditing
The @EnableJpaAuditing anotácia umožňuje auditovanie vašich subjektov JPA.
@Configuration @EnableJpaAuditing public class JpaConfig {@Bean public AuditorAware auditorProvider () {return new AuditorAwareImpl (); }}
Viac informácií o používaní jarných webových zásuviek nájdete v tomto článku.
10. Záver
V tomto rýchlom článku sme sa pozreli na niektoré @Povoliť Jarné anotácie a ich použitie pri konfigurácii jarnej aplikácie.