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.


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