作者:nashiyizhiyu_847_695 | 来源:互联网 | 2023-09-15 14:16
系統如果有很多dao,不想配置在xml中,想直接annotation.但是怎麼樣把JdbcTemplate注入進去了呢?@Resource(namejdbcTemplate)p
系統如果有很多dao,不想配置在xml中,想直接annotation.但是怎麼樣把JdbcTemplate注入進去了呢?
@Resource(name="jdbcTemplate")
private JdbcTemplate jdbcTemplate;
這樣注入不行,不知道為什麼?jdbcTemplate在xml中配置過
4 个解决方案
annotation 不知道。。。。应该和一般的依赖一样配置。。。。。
自己定义父类
public class MyDaoSupport extends JdbcDaoSupport {
@Resource(name="...")
protected void inject(JdbcTemplate jdbcTemplate) {
super.setJdbcTemplate(jdbcTemplate);
}
}
public SomeDaoImpl extends your.pack.age.MyDaoSupport implement SomeDao {
/// ....................
}
就好了!
不过不推荐用JdbcDaoSupport,你想用JdbcTemplate的话,注入不就完了吗。 这么啰嗦干什么。
不是,关键问题是JdbcDaoSupport的setJdbcTemplate方法是final 类型的。
这个很烦人。
你无法继承它,当然也没有办法写标注啦。 所以用一个手法中间过渡一下。