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.