Kratki vodič za Spring @Enable Annotations

1. Pregled

Proljeće dolazi sa setom @Omogućiti napomene koje programerima olakšavaju konfiguriranje aplikacije Spring. Ove su napomene koristi se zajedno s @Konfiguracija bilješka.

U ovom ćemo članku pogledati neke od ovih napomena:

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

2. @EnableWebMvc

The @EnableWebMvc anotacija se koristi za omogućujući Spring MVC u aplikaciji i radi tako što uvozi Spring MVC Configuration iz WebMvcConfigurationSupport.

XML ekvivalent sa sličnom funkcionalnošću je .

Konfiguraciju može prilagoditi @Konfiguracija razred koji provodi WebMvcConfigurer:

@Configuration @EnableWebMvc javna klasa SpringMvcConfig implementira WebMvcConfigurer {@Override public void configureMessageConverters (Popis pretvarači) {converters.add (novi MyHttpMessageConverter ()); } // ...}

3. @EnableCaching

The @EnableCaching bilješka omogućuje upravljanje predmemorijom na temelju napomena sposobnost unutar aplikacije i omogućuje nam upotrebu @Cacheable i @CacheEvict bilješke u našoj prijavi.

XML ekvivalent sa sličnom funkcionalnošću je prostor imena:

@Configuration @EnableCaching javna klasa CacheConfig {@Bean public CacheManager cacheManager () {SimpleCacheManager cacheManager = new SimpleCacheManager (); cacheManager.setCaches (Arrays.asList (novi ConcurrentMapCache ("zadani"))); vratiti cacheManager; }}

Ova bilješka također ima sljedeće mogućnosti:

  • način rada - pokazuje kako treba primijeniti savjete za predmemoriranje
  • narudžba - označava naredbu savjetnika za predmemoriranje izvršenja kada se primjenjuje na određenoj točki spajanja
  • proxyTargetClass - naznačuje trebaju li se stvoriti proxyji temeljeni na podrazredima (CGLIB) za razliku od standardnih proxyja temeljenih na Java sučelju

Ovu konfiguraciju ponovno može prilagoditi @Konfiguracija razred koji provodi CachingConfigurerSupport razred:

@Configuration @EnableCaching javna klasa CacheConfig proširuje CachingConfigurerSupport {@Bean @Override javni CacheManager cacheManager () {SimpleCacheManager cacheManager = novi SimpleCacheManager (); cacheManager.setCaches (Arrays.asList (novi ConcurrentMapCache ("zadani"))); vratiti cacheManager; } @Bean @Override javni KeyGenerator keyGenerator () {return new MyKeyGenerator (); }}

Za više informacija o korištenju proljetnog predmemoriranja možete pogledati ovaj članak.

4. @EnableScheduling

The @EnableScheduling bilješka omogućuje raspoređene mogućnosti zadataka i omogućuje nam upotrebu @ Na rasporedu bilješke u prijavi. XML ekvivalent sa sličnom funkcionalnošću je prostor imena koristeći planera atribut.

Ovu konfiguraciju ponovno može prilagoditi @Konfiguracija razred koji provodi ZakazivanjeConfigurer razred:

@Configuration @EnableScheduling javne klase SchedulingConfig implementira SchedulingConfigurer {@Override public void configureTasks (ScheduledTaskRegistrar taskRegistrar) {taskRegistrar.setScheduler (taskExecutor ()); } @Bean (killMethod = "shutdown") javni izvršitelj taskExecutor () {return Executors.newScheduledThreadPool (100); }}

Da biste saznali više o korištenju rasporeda proljeća, pogledajte ovaj članak.

5. @EnableAsync

The @EnableAsync bilješka omogućuje asinkronu obradu u našoj aplikaciji. XML ekvivalent sa sličnom funkcionalnošću je prostor imena koristeći izvršitelj atribut.

@Configuration @EnableAync javna klasa AsyncConfig {...}

Dodatne informacije o korištenju Spring async potražite u ovom članku.

6. @EnableWebSocket

The @EnableWebSocket anotacija se koristi konfigurirati obradu zahtjeva za web utičnicu. Prilagođavanje se može izvršiti primjenom WebSocketConfigurer razred:

@Configuration @EnableWebSocket javna klasa MyConfiguration implementira WebSocketConfigurer {@Override public void registerWebSocketHandlers (Registar WebSocketHandlerRegistry) {registry.addHandler (echoWebSocketHandler (), "/ echo "JS. } @Bean public WebSocketHandler echoWebSocketHandler () {return new EchoWebSocketHandler (); }}

Za više informacija o korištenju Spring Websockets-a možete pogledati ovaj članak.

7. @EnableJpaRepositories

The @EnableJpaRepositories bilješka omogućuje spremišta podataka Spring Spring JPA skeniranjem paketa označene konfiguracijske klase za spremišta.

@Configuration @EnableJpaRepositories javna klasa JpaConfig {...}

Neke opcije dostupne za ovu napomenu su:

  • vrijednost - alias za basePackages () atribut
  • basePackages - osnovni paketi za skeniranje s naznačenim komponentama
  • enableDefaultTransaction - konfigurira hoće li omogućiti zadane transakcije za spremišta Spring Data JPA ili ne
  • entityManagerFactoryRef - konfigurira ime datoteke EntityManagerFactory definicija graha koja će se koristiti

8. @EnableTransactionManagement

The @EnableTransactionManagement bilješka omogućuje Spring-ovu mogućnost upravljanja transakcijama na temelju bilješki. XML ekvivalent je prostor imena.

@Configuration @EnableTransactionManagement javna klasa JpaConfig {...}

Dodatne informacije o korištenju Spring Transaction Management potražite u ovom članku.

9. @EnableJpaAuditing

The @EnableJpaAuditing bilješka omogućuje reviziju vaših JPA entiteta.

@Configuration @EnableJpaAuditing javna klasa JpaConfig {@Bean public AuditorAware auditorProvider () {return new AuditorAwareImpl (); }}

Dodatne informacije o korištenju Spring Web Sockets potražite u ovom članku.

10. Zaključak

U ovom kratkom članku pogledali smo neke @Omogućiti Proljetne bilješke i kako se mogu koristiti za konfiguriranje proljetne aplikacije.