Rask guide til våren @ Aktiver merknader
1. Oversikt
Våren kommer med et sett med @Muliggjøre merknader som gjør det lettere for utviklere å konfigurere en Spring-applikasjon. Disse kommentarene er brukes sammen med @Konfigurasjon kommentar.
I denne artikkelen vil vi se på noen av disse merknadene:
- @EnableWebMvc
- @EnableCaching
- @EnableScheduling
- @EnableAsync
- @EnableWebSocket
- @EnableJpaRepositories
- @EnableTransactionManagement
- @EnableJpaAuditing
2. @EnableWebMvc
De @EnableWebMvc kommentar brukes til aktivere Spring MVC i en applikasjon og fungerer ved å importere Spring MVC Configuration fra WebMvcConfigurationSupport.
XML-ekvivalenten med lignende funksjonalitet er .
Konfigurasjonen kan tilpasses av @Konfigurasjon klasse implementere WebMvcConfigurer:
@Configuration @EnableWebMvc public class SpringMvcConfig implementerer WebMvcConfigurer {@Override public void configureMessageConverters (List omformere) {omformere.add (ny MyHttpMessageConverter ()); } // ...}
3. @EnableCaching
De @EnableCaching kommentar muliggjør annoteringsdrevet cacheadministrasjon evne i applikasjonen og tillater oss å bruke @Cacheable og @CacheEvict kommentarer i søknaden vår.
XML-ekvivalenten med lignende funksjonalitet 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 kommentaren har også følgende alternativer:
- modus - indikerer hvordan caching-råd skal brukes
- rekkefølge - angir bestillingen til utføringsbufferådgiveren når den brukes på et bestemt sammenføyningspunkt
- proxyTargetClass - indikerer om underklassebaserte (CGLIB) proxyer skal opprettes i motsetning til standard Java-grensesnittbaserte proxyer
Denne konfigurasjonen igjen kan tilpasses av @Konfigurasjon klasse implementere CachingConfigurerSupport klasse:
@Configuration @EnableCaching offentlig klasse CacheConfig utvider CachingConfigurerSupport {@Bean @Override offentlig CacheManager cacheManager () {SimpleCacheManager cacheManager = ny SimpleCacheManager (); cacheManager.setCaches (Arrays.asList (ny ConcurrentMapCache ("standard")); returner cacheManager; } @Bean @Override offentlig KeyGenerator keyGenerator () {returner ny MyKeyGenerator (); }}
For mer informasjon om bruk av vårbufring kan du se denne artikkelen.
4. @EnableScheduling
De @EnableScheduling kommentar muliggjør planlagte oppgaver og lar oss bruke @ Planlagt kommentarer i søknaden. XML-ekvivalenten med lignende funksjonalitet er navneområdet ved hjelp av planlegger Egenskap.
Denne konfigurasjonen igjen kan tilpasses av @Konfigurasjon klasse implementere SchedulingConfigurer klasse:
@Configuration @EnableScheduling public class SchedulingConfig implementerer SchedulingConfigurer {@Override public void configureTasks (ScheduledTaskRegistrar taskRegistrar) {taskRegistrar.setScheduler (taskExecutor ()); } @Bean (destroyMethod = "shutdown") offentlig Executor taskExecutor () {return Executors.newScheduledThreadPool (100); }}
For mer informasjon om bruk av vårplanlegging, kan du se denne artikkelen.
5. @EnableAsync
De @EnableAsync kommentar muliggjør asynkron behandling i applikasjonen vår. XML-ekvivalenten med lignende funksjonalitet er navneområdet ved hjelp av utfører Egenskap.
@Configuration @EnableAync offentlig klasse AsyncConfig {...}
For mer om bruk av Spring async, kan du se denne artikkelen.
6. @EnableWebSocket
De @EnableWebSocket merknader er vant til konfigurere behandlingen av web-socketforespørsler. Tilpasning kan gjøres ved å 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 mer informasjon om bruk av Spring Websockets, kan du se denne artikkelen.
7. @EnableJpaRepositories
De @EnableJpaRepositories kommentar muliggjør Spring Data JPA-repositories ved å skanne pakken til den merkede konfigurasjonsklassen for arkiver.
@Configuration @EnableJpaRepositories offentlig klasse JpaConfig {...}
Noen tilgjengelige alternativer for denne kommentaren er:
- verdi - alias for basePackages () Egenskap
- basePackages - basispakker for å skanne etter merkede komponenter
- enableDefaultTransactions - konfigurerer om standardtransaksjoner for Spring Data JPA-repositorier skal aktiveres eller ikke
- entityManagerFactoryRef - konfigurerer navnet på EntityManagerFactory definisjon av bønner som skal brukes
8. @EnableTransactionManagement
De @EnableTransactionManagement kommentar muliggjør Spring's merkedrevne transaksjonsadministrasjonsevne. XML-ekvivalenten er navneområdet.
@Configuration @EnableTransactionManagement offentlig klasse JpaConfig {...}
For mer informasjon om bruk av Spring Transaction Management, kan du se denne artikkelen.
9. @EnableJpaAuditing
De @EnableJpaAuditing kommentar muliggjør revisjon av JPA-enhetene dine.
@Configuration @EnableJpaAuditing public class JpaConfig {@Bean public AuditorAware auditorProvider () {returner ny AuditorAwareImpl (); }}
For mer informasjon om bruk av Spring Web Sockets, kan du se denne artikkelen.
10. Konklusjon
I denne raske artikkelen så vi på noen @Muliggjøre Vårkommentarer og hvordan de kan brukes til å konfigurere en vårapplikasjon.