【发布时间】:2017-06-11 21:52:48
【问题描述】:
SpringBoot 如何从 application.properties 文件中获取 DataSource 配置。
下面的配置会保留实体吗?
Module 1 包含 Config 文件和 application.properties 文件
模块 2 包含存储库和服务文件
到目前为止,我还没有配置任何带有@Repository 注释的文件。
contextRepository.saveAndFlush(test);
Spring Boot 配置类如下:
@EnableSwagger2
@SpringBootApplication
@ComponentScan(basePackages={"ch.service"})
public class MyCodeConfiguration extends SpringBootServletInitializer {
//Module1
package ch.service.config;
@Bean
@Primary
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource realDataSource() {
return DataSourceBuilder.create().build();
}
@Bean
@ConditionalOnMissingBean(PlatformTransactionManager.class)
public DataSourceTransactionManager transactionManager() {
DataSourceTransactionManager transactionManager = new DataSourceTransactionManager(realDataSource());
return transactionManager;
}
}
下面的服务类。
//Module2
package ch.service.config;
@Service
public class CodeServiceImpl implements CodeService {
@Autowired
private ContextRepository contextRepository;
@Transactional
public void persistValues(Testbean test){
contextRepository.saveAndFlush(test);
}
}
下面的存储库类
//Module2
package ch.service.config.dao;
public interface ContextRepository extends JpaRepository<MyContext, Long> {
}
以下错误:
***************************
APPLICATION FAILED TO START
***************************
Description:
Parameter 0 of method transactionManager in org.springframework.boot.autoconfigure.transaction.jta.BitronixJtaConfiguration required a bean of type 'javax.transaction.TransactionManager' that could not be found.
- Bean method 'narayanaTransactionManager' not loaded because @ConditionalOnClass did not find required classes 'com.arjuna.ats.jta.UserTransaction', 'org.jboss.tm.XAResourceRecoveryRegistry'
行动:
Consider revisiting the conditions above or defining a bean of type 'javax.transaction.TransactionManager' in your configuration.
【问题讨论】:
-
Config 类中的包声明是怎么回事?
标签: spring spring-boot spring-data