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.