下面的代码运行良好,但是如果我注释OracleConfiguration类中的jdbcTemplateRandomName方法,我会得到以下错误:-
我试图通过注释jdbcTemplateRandomName方法error is in BaseDaoImpl类来理解为什么会得到错误。
线程“main”org.springframework.beans.factory.UnsatisfiedDependencyException中出现异常:创建名为“base daoimpl”的bean时出错:通过字段“jdbc template”表示的不满足依赖项;嵌套异常为org.springframework.beans.factory.NoSuchBeanDefinitionException:没有“org.springframework.jdbc.core.jdbcTemplate”类型的合格bean可用:至少需要一个合格的自动候选bean。依赖项注释:{@org.SpringFramework.Beans.Factory.Annotation.AutoWired(required=true)}
原因:org.springframework.beans.factory.NoSuchBeanDefinitionException:没有“org.springframework.jdbc.core.jdbcTemplate”类型的合格bean可用:应至少有一个合格的自动候选bean。依赖项注释:{@org.SpringFramework.Beans.Factory.Annotation.AutoWired(required=true)}
@Component
public class BaseDaoImpl {
@Autowired
private JdbcTemplate jdbcTemplate;
public JdbcTemplate getJdbcTemplate() {
return jdbcTemplate;
}
@Configuration
public class OracleConfiguration {
@Bean
DataSource dataSource() throws SQLException {
OracleDataSource dataSource = new OracleDataSource();
//removed code for brevity setting username,password to datasource
return dataSource;
}
@Bean
public JdbcTemplate jdbcTemplateRandomName(DataSource dataSource) {
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
jdbcTemplate.setResultsMapCaseInsensitive(true);
return jdbcTemplate;
}
public class RolesDaoImpl extends BaseDaoImpl implements RolesDao {
//removed lot of unnecessary code for the question
List<Roles> rolesList = getJdbcTemplate().query(sql,
new BeanPropertyRowMapper<Roles>(Roles.class));
如果您注释jdbctemplaterandomname()
方法,您将从Spring IoC配置中删除jdbctemplate
bean的声明。因此Spring将无法找到合适对象来填充BasedAoImpl
类的JDBCTemplate
属性
堆栈跟踪
以下是例外情况: 我的代码: 我评论了setCacheable(true),因为它给出了一个错误。有人能帮忙吗?
正在尝试测试我的。。。编译器请求注入,但在为创建bean后,它返回通过字段 代码: 错误:
错误:-->org.springframework.beans.factory.unsatisfieddependencyexception:创建名为“home controller”的bean时出错:通过字段“user tokenservice”表示的不满足的依赖项;嵌套异常为org.springframework.beans.factory.unsatisfieddependencyexcep
尝试启动服务时的异常跟踪: 2016-07-03 15:08:34.596信息35332---
我有一个属性XML文件,如下所示: 我该怎么解决这个?