@Configuration(proxyBeanMethods = false)
public class RedisHttpSessionConfiguration extends SpringHttpSessionConfiguration
implements BeanClassLoaderAware, EmbeddedValueResolverAware, ImportAware {
// ...
@Bean
public RedisIndexedSessionRepository sessionRepository() {
// constructs and returns sessionRepository
}
// ...
@EnableScheduling
@Configuration(proxyBeanMethods = false)
class SessionCleanupConfiguration implements SchedulingConfigurer {
private final RedisIndexedSessionRepository sessionRepository;
SessionCleanupConfiguration(RedisIndexedSessionRepository sessionRepository) {
this.sessionRepository = sessionRepository;
}
// ...
}
}
@EnableRedisHttpSession
@Configuration
public class CustomRedisHttpSessionConfiguration extends RedisHttpSessionConfiguration {
// ...
@Bean
@Primary
public RedisIndexedSessionRepository customSessionRepository() {
RedisIndexedSessionRepository sessionRepository = super.sessionRepository();
// custom config code
return safeRepository;
}
// ...
}
有什么想法为什么@primary在这里没有被考虑在内吗?
只需向配置中添加一个属性:
spring.main.allow-bean-definition-overriding=true
编辑
或者试试这样的方法:
@EnableRedisHttpSession
@Configuration
public class CustomRedisHttpSessionConfiguration extends
RedisHttpSessionConfiguration implements BeanPostProcessor {
// ...
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
if (bean.getClass() == RedisIndexedSessionRepository.class) {
RedisIndexedSessionRepository sessionRepository = (RedisIndexedSessionRepository) bean;
// custom config code
}
return bean;
}
// ...
}
问题内容: 我的@Transactionnal注释似乎被忽略了。我对Spring容器的初始化没有任何错误。看来我的方法尚未被Spring TX框架代理。在执行服务的方法期间,JDBCTemplate会引发预期的RuntimeException。问题在于JDBC连接没有回滚,并且更改保持不变。stacktrace没有显示应该包装我的服务方法的代理的任何迹象。 编辑:添加了控制器的代码 编辑2:添加了
在我们的一个项目中,我们遇到了一个问题,Spring忽略了事务注释,然后失败了,出现了以下错误。 启动ApplicationContext时出错。要显示条件报告,请在启用“调试”的情况下重新运行应用程序。2018-09-13 15:05:18406错误[主]组织。springframework。靴子SpringApplication应用程序运行失败组织。springframework。道。Inva
我正在迁移一个活动的Spring Web应用到Spring Boot(1.4.2)。 这些bean是在XML中定义的,因为它正在加载@重要资源。 我正在启动的4个bean是同一个对象BasicDataSource的实例。 为了告诉Spring要加载哪个,我为每个都设置了一个ID,并使用@Qualifer将正确的bean绑定到变量。 但Spring似乎忽略了我的@Qualifier,并抛出“没有可用
我有一个具有依赖项的Spring Boot应用程序。我的实体类有一个带有列名的列注释。例如: 由此生成的SQL将创建为列名。在寻找解决方案之后,我发现解决了这个问题(列名取自列注释)。 但是,我的问题是为什么没有将naming_strategy设置为,JPA忽略列注释?也许冬眠方言与此有关?我正在连接到MS SQL 2014 Express,我的日志包含:
我正在尝试配置Spring Security注释,我已经设法在xml中设置了Spring Security配置(由intercept-url元素配置),但是现在我想在我的beans中使用安全注释。但是当试图在没有记录的情况下访问安全控制器方法时,安全注释被完全忽略。这是我的控制器bean: 和登录控制器: 和配置:web.xml Spring-套筒.xml 和Spring安全.xml 如果需要,我
我试图使用Jackson注释来重新命名序列化过程中产生的一些json标签。所有注释都编译得很好,当我运行时,除了所有Jackson注释之外,Jackson序列化工作完全被忽略。即使像@jsonignore或@jsonproperty这样的基本命令对json响应也没有影响。构建路径中的库有: 下面是我需要序列化的一个类的代码示例: