Hurtig guide til foråret @ Aktiver annoteringer

1. Oversigt

Foråret kommer med et sæt @ Aktiver bemærkninger, der gør det lettere for udviklere at konfigurere en Spring-applikation. Disse kommentarer er bruges sammen med @Konfiguration kommentar.

I denne artikel vil vi se på nogle af disse kommentarer:

  • @EnableWebMvc
  • @EnableCaching
  • @EnableScheduling
  • @EnableAsync
  • @EnableWebSocket
  • @EnableJpaRepositories
  • @EnableTransactionManagement
  • @EnableJpaAuditing

2. @EnableWebMvc

Det @EnableWebMvc kommentar bruges til aktivering af Spring MVC i en applikation og fungerer ved at importere Spring MVC Configuration fra WebMvcConfigurationSupport.

XML-ækvivalenten med lignende funktionalitet er .

Konfigurationen kan tilpasses af @Konfiguration klasse, der implementerer WebMvcConfigurer:

@Configuration @EnableWebMvc public class SpringMvcConfig implementerer WebMvcConfigurer {@Override public void configureMessageConverters (List konvertere) {converters.add (ny MyHttpMessageConverter ()); } // ...}

3. @EnableCaching

Det @EnableCaching kommentar muliggør annoteringsdrevet cacheadministration kapacitet inden for applikationen og giver os mulighed for at bruge @Cacheable og @CacheEvict kommentarer i vores ansøgning.

XML-ækvivalenten med lignende funktionalitet er navneområde:

@Configuration @EnableCaching offentlig klasse CacheConfig {@Bean offentlig CacheManager cacheManager () {SimpleCacheManager cacheManager = ny SimpleCacheManager (); cacheManager.setCaches (Arrays.asList (ny ConcurrentMapCache ("standard")); returner cacheManager; }}

Denne kommentar har også følgende muligheder:

  • mode - angiver hvordan caching-rådgivning skal anvendes
  • bestille - angiver rækkefølgen af ​​eksekverings-cacherådgiveren, når den anvendes på et specifikt sammenkoblingspunkt
  • proxyTargetClass - angiver, om der skal oprettes underklassebaserede (CGLIB) proxyer i modsætning til standard Java interface-baserede proxyer

Denne konfiguration kan igen tilpasses af @Konfiguration klasse, der implementerer CachingConfigurerSupport klasse:

@Configuration @EnableCaching offentlig klasse CacheConfig udvider CachingConfigurerSupport {@Bean @Override public CacheManager cacheManager () {SimpleCacheManager cacheManager = ny SimpleCacheManager (); cacheManager.setCaches (Arrays.asList (ny ConcurrentMapCache ("standard")); returner cacheManager; } @Bean @Override offentlig KeyGenerator keyGenerator () {returner ny MyKeyGenerator (); }}

For mere information om brug af Spring Cache kan du henvise til denne artikel.

4. @EnableScheduling

Det @EnableScheduling kommentar muliggør planlagte opgavefunktioner og giver os mulighed for at bruge @ Planlagt kommentarer i ansøgningen. XML-ækvivalenten med lignende funktionalitet er navneområde ved hjælp af planlægning attribut.

Denne konfiguration kan igen tilpasses af @Konfiguration klasse, der implementerer SchedulingConfigurer klasse:

@Configuration @EnableScheduling public class SchedulingConfig implementerer SchedulingConfigurer {@Override public void configureTasks (ScheduledTaskRegistrar taskRegistrar) {taskRegistrar.setScheduler (taskExecutor ()); } @Bean (destroyMethod = "shutdown") offentlig eksekutor taskExecutor () {return Executors.newScheduledThreadPool (100); }}

For mere om brug af forårsprogrammering kan du henvise til denne artikel.

5. @EnableAsync

Det @EnableAsync kommentar muliggør asynkron behandling i vores applikation. XML-ækvivalenten med lignende funktionalitet er navneområde ved hjælp af eksekutor attribut.

@Configuration @EnableAync offentlig klasse AsyncConfig {...}

For mere om brug af Spring async kan du henvise til denne artikel.

6. @EnableWebSocket

Det @EnableWebSocket kommentar bruges til konfigurere behandlingen af ​​anmodninger om websocket. Tilpasning kan ske ved at implementere WebSocketConfigurer klasse:

@Configuration @EnableWebSocket public class MyConfiguration implementerer WebSocketConfigurer {@Override public void registerWebSocketHandlers (WebSocketHandlerRegistry registry) {registry.addHandler (echoWebSocketHandler (), "/ echo"). WithSockJS (); } @Bean offentlig WebSocketHandler echoWebSocketHandler () {returner ny EchoWebSocketHandler (); }}

For mere om brug af forårets websockets, kan du henvise til denne artikel.

7. @EnableJpaRepositories

Det @EnableJpaRepositories kommentar aktiverer Spring Data JPA repositories ved at scanne pakken i den kommenterede konfigurationsklasse for opbevaringssteder.

@Configuration @EnableJpaRepositories offentlig klasse JpaConfig {...}

Nogle tilgængelige indstillinger til denne kommentar er:

  • værdi - alias for basePackages () attribut
  • basePackages - basispakker til at scanne efter kommenterede komponenter
  • enableDefaultTransactions - konfigurerer, om standardtransaktioner skal aktiveres for Spring Data JPA-arkiver eller ej
  • entityManagerFactoryRef - konfigurerer navnet på EntityManagerFactory definition af bønner, der skal anvendes

8. @EnableTransactionManagement

Det @EnableTransactionManagement kommentar muliggør Spring's annoteringsdrevne transaktionsstyringsfunktion. XML-ækvivalenten er navneområde.

@Configuration @EnableTransactionManagement offentlig klasse JpaConfig {...}

For mere om brug af Spring Transaction Management kan du henvise til denne artikel.

9. @EnableJpaAuditing

Det @EnableJpaAuditing kommentar muliggør revision af dine JPA-enheder.

@Configuration @EnableJpaAuditing public class JpaConfig {@Bean public AuditorAware auditorProvider () {returner ny AuditorAwareImpl (); }}

For mere information om brug af forårssockets, kan du henvise til denne artikel.

10. Konklusion

I denne hurtige artikel kiggede vi på nogle @ Aktiver Forårkommentarer, og hvordan de kan bruges til at hjælpe os med at konfigurere en forårsprogram.