这是我正在做的事情:
@Component("jdbcBookDao")
public class JdbcBookDao extends JdbcDaoSupport implements BookDao{
@Autowired
public void injectDataSource(DataSource dataSource){
setDataSource(dataSource);
}
@Transactional
public int getStock(int isbn){
String sql = "SELECT bs.STOCK FROM BOOK b, BOOK_STOCK bs WHERE b.id=bs.book_id AND b.isbn=?";
return getJdbcTemplate().queryForInt(sql, isbn);
}
}
在应用程序上下文中,我已经声明:
<tx:annotation-driven proxy-target-class="true"/>
有了这个配置,我希望当我从上下文中获取 jdbcBookdao 时,它将是一个 CGLIB 代理(因为我已将 proxy-target-class 设置为 true)。但是当我调试时,它是作为 JdkDynamicAopProxy 的实例出现的。有人可以解释为什么即使我请求 CGLIB 代理也会创建 JDK 代理?
谢谢。