diff --git a/spring-autoconfigure/src/main/java/org/springframework/autoconfigure/orm/jpa/JpaBaseConfiguration.java b/spring-autoconfigure/src/main/java/org/springframework/autoconfigure/orm/jpa/JpaBaseConfiguration.java index 2e5fcd33c45..1caf45f2694 100644 --- a/spring-autoconfigure/src/main/java/org/springframework/autoconfigure/orm/jpa/JpaBaseConfiguration.java +++ b/spring-autoconfigure/src/main/java/org/springframework/autoconfigure/orm/jpa/JpaBaseConfiguration.java @@ -54,8 +54,8 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter * @author Phillip Webb * @author Dave Syer */ -@ConditionalOnClass({ LocalContainerEntityManagerFactoryBean.class, EnableTransactionManagement.class, - EntityManager.class }) +@ConditionalOnClass({ LocalContainerEntityManagerFactoryBean.class, + EnableTransactionManagement.class, EntityManager.class }) @ConditionalOnBean(DataSource.class) public abstract class JpaBaseConfiguration implements BeanFactoryAware { @@ -78,13 +78,14 @@ public abstract class JpaBaseConfiguration implements BeanFactoryAware { @Configuration @ConditionalOnWebApplication - @ConditionalOnMissingBean({ OpenEntityManagerInViewInterceptor.class, OpenEntityManagerInViewFilter.class }) + @ConditionalOnMissingBean({ OpenEntityManagerInViewInterceptor.class, + OpenEntityManagerInViewFilter.class }) @ConditionalOnExpression("${spring.jpa.openInView:${spring.jpa.open_in_view:true}}") protected static class JpaWebConfiguration extends WebMvcConfigurerAdapter { @Override public void addInterceptors(InterceptorRegistry registry) { - super.addInterceptors(registry); + registry.addWebRequestInterceptor(openEntityManagerInViewInterceptor()); } @Bean @@ -95,14 +96,18 @@ public abstract class JpaBaseConfiguration implements BeanFactoryAware { } /** - * Determines if the {@code dataSource} being used by Spring was created from {@link EmbeddedDatabaseConfiguration}. + * Determines if the {@code dataSource} being used by Spring was created from + * {@link EmbeddedDatabaseConfiguration}. * @return true if the data source was auto-configured. */ protected boolean isAutoConfiguredDataSource() { try { - BeanDefinition beanDefinition = this.beanFactory.getBeanDefinition("dataSource"); - return EmbeddedDatabaseConfiguration.class.getName().equals(beanDefinition.getFactoryBeanName()); - } catch (NoSuchBeanDefinitionException ex) { + BeanDefinition beanDefinition = this.beanFactory + .getBeanDefinition("dataSource"); + return EmbeddedDatabaseConfiguration.class.getName().equals( + beanDefinition.getFactoryBeanName()); + } + catch (NoSuchBeanDefinitionException ex) { return false; } } @@ -113,19 +118,23 @@ public abstract class JpaBaseConfiguration implements BeanFactoryAware { protected DataSource getDataSource() { try { return this.beanFactory.getBean("dataSource", DataSource.class); - } catch (RuntimeException ex) { + } + catch (RuntimeException ex) { return this.beanFactory.getBean(DataSource.class); } } protected String[] getPackagesToScan() { - List basePackages = AutoConfigurationUtils.getBasePackages(this.beanFactory); - Assert.notEmpty(basePackages, "Unable to find JPA packages to scan, please define " - + "a @ComponentScan annotation or disable JpaAutoConfiguration"); + List basePackages = AutoConfigurationUtils + .getBasePackages(this.beanFactory); + Assert.notEmpty(basePackages, + "Unable to find JPA packages to scan, please define " + + "a @ComponentScan annotation or disable JpaAutoConfiguration"); return basePackages.toArray(new String[basePackages.size()]); } - protected void configure(LocalContainerEntityManagerFactoryBean entityManagerFactoryBean) { + protected void configure( + LocalContainerEntityManagerFactoryBean entityManagerFactoryBean) { } @Override