
ru.mynewtons.starter.oauth2.config.OAuth2AutoConfiguration Maven / Gradle / Ivy
package ru.mynewtons.starter.oauth2.config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.context.MessageSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.context.support.ReloadableResourceBundleMessageSource;
import org.springframework.data.domain.AuditorAware;
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import ru.mynewtons.starter.oauth2.config.security.audit.UsernameAuditorAware;
import javax.sql.DataSource;
import java.util.Locale;
@Configuration
@EntityScan(basePackages = "ru.mynewtons.starter.oauth2.domain")
@ComponentScan(basePackages = "ru.mynewtons.starter.oauth2")
@EnableJpaRepositories(basePackages = "ru.mynewtons.starter.oauth2.repository")
@EnableJpaAuditing(auditorAwareRef = "auditorProvider")
@ConditionalOnClass(DataSource.class)
@PropertySource("classpath:management.properties")
public class OAuth2AutoConfiguration {
@Bean
public Locale locale(@Value("${spring.mvc.locale}") String languageTag) {
return Locale.forLanguageTag(languageTag);
}
@Bean
public AuditorAware auditorProvider() {
return new UsernameAuditorAware();
}
@Bean(name = "oauth2MessageSource")
public MessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("classpath:/locale/management.messages");
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy