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.


$config[zx-auto] not found$config[zx-overlay] not found