我尝试做一个切入点,记录SQL查询
@Before("execution(* org.springframework.jdbc.core.JdbcTemplate.*(String, ..))")
public void logSQLQueries() {
System.out.println("@@");
}
我正在尝试实现此处的代码;http://www.gotoquiz.com/web-coding/programming/java-programming/log-sql-statements-with-parameter-values-filled-in-spring-jdbc/
但我得到
java.lang.IllegalArgumentException: Can not set org.springframework.jdbc.core.JdbcTemplate field com.xyz.abc.dao.ABCDaoImpl.jdbcTemplate to com.sun.proxy.$Proxy53
我已经在我的 *-servlet 中创建了 jdbc模板 bean.xml并在我所有的 DAO 中自动连接了它。工作完全正常,但添加切入点给出了例外。任何想法 ??
默认情况下,Spring使用JDK动态代理来应用AOP。(有关代理的更多信息,请参阅此处)。
发生的情况是,创建了一个动态类(com.sun.proxy.$Proxy53
),它实现了目标类实现的所有接口。对于一个JdbcTemplate
,即Jdbc操作
和初始化Bean
。所以动态类是一个Jdbc操作
,但不是一个JdbcTemplate
,因此注入失败。
你有几个解决方案
JdbcAction
而不是类JdbcTemplate
对现在,选项 1 和 2 是最容易实现的,而选项 3 是最强大和最复杂的入门(请参阅下面的链接)。
换一个你的班级
@Autowired
private JdbcTemplate jdbcTemplate;
到
@Autowired
private JdbcOperations jdbcTemplate;
如果您正在扩展JdbcDaoSupport
,您可能会陷入困境,然后它将无法工作。
选项 2,假设您有
对于选项3,我参考了参考指南,因为它涉及(可能)一个java代理,并且可能会更复杂一些。
链接
< li >了解AOP代理 < li >使用AspectJ进行加载时编织
我试图编写一个round_up函数,将浮点数转换为整数,但是我获取小数位数的方法似乎有错误(浮点数%1的剩余部分)。如果浮点数是4.4,我希望将其转换为4;如果是4.5,我希望将其转换为5。错误消息:错误:无效的操作数到二进制%(有'浮动'和'int')
我正在尝试将PostgreSQL配置为在我的rails应用程序中使用全文搜索,如本铁路广播中所述。 我使用的是一个全新的Ubuntu 12.04服务器,运行的是PostgreSQL 9.1.5,安装时使用的是apt get,使用的是ppa:pitti/PostgreSQL,使用的是precise。 尝试运行迁移时,以及在psql控制台中与对等postgres用户尝试相同的命令时,出现以下错误: 错
我得到: 创建在类路径资源[org/springframework/data/web/config/ProjectingArgumentResolverRegistrar.class]中定义了名为“ProjectingargumentResolveanPostProcessor”的bean时出错:bean初始化失败;嵌套的异常是java。lang.IllegalArgumentException:
我试图在Ubuntu16.04LTS中安装docker datage,Apache侦听端口80和443。 当我尝试午餐应用程序时,我得到以下错误: 启动现有容器+/usr/bin/docker启动应用程序错误响应:驱动程序在endpoint应用程序上编程外部连接失败(dade361e77fbf29f4d9667febe57a06f168f916148e10cc1365093d8f97026bb):
我正在用MySQL数据库构建一个django应用程序。当我第一次运行“Python Manage.py Migrate”时,一些表创建得很好,然后出现一些错误。引出的错误是: 完整的回溯是:
我正在尝试使用EclipseLink创建一个表。正在使用的java类是:- EL警告]:2017-04-07 14:04:53.768--ServerSession(1650327539)--异常[EclipseLink-4002](Eclipse持久性服务-2.6.3.v20160428-59C81C5):org.Eclipse.Persistence.exceptions.DatabaseEx