您自己的
WebApplicationInitializer和扩展的实现
AbstractAnnotationConfigDispatcherServletInitializer是不同的。它们的行为不同,那是因为您没有注册自定义
ApplicationContextInitializer。
ApplicationContextInitializer在javadoc中说明了如何注册的方法(请注意设置
ApplicationContextInitializers
集合的2种方法)。
public class AppInitialzer extends AbstractAnnotationConfigDispatcherServletInitializer { ... protected ApplicationContextInitializer<?>[] getRootApplicationContextInitializers() { return new ApplicationContextInitializer[] { new SpringAppContInit() } ; }}但是,这
ApplicationContextInitializer并不能真正添加仅通过设置环境或系统属性就无法完成的工作。
spring.profiles.active=SQLDev
当您这样做时,则不需要该init。
我也坚信您
@EnableJpaRepositories的课程是错误的,要启用这些功能的事实不应该取决于您的个人资料。


![NoSuchBeanDefinitionException:未找到依赖项类型为[Repository]的合格Bean:至少应有1个符合自动装配条件的Bean NoSuchBeanDefinitionException:未找到依赖项类型为[Repository]的合格Bean:至少应有1个符合自动装配条件的Bean](http://www.mshxw.com/aiimages/31/394868.png)
