大家好,欢迎来到IT知识分享网。
运用面向切面编程思想,对数据库的查询功能进行性能统计
业务核心功能类:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.*;
public class ProductService {
public void doSomeService(){
String str="select * from table_name where name=?";
try{
Class.forName("com.mysql.jdbc.Driver");
}catch (ClassNotFoundException e)
{
e.printStackTrace();
}
try(Connection c= DriverManager.getConnection(
"","","");
PreparedStatement s=c.prepareStatement(str)
)
{
s.setString(1,"");
ResultSet rs=s.executeQuery();
if (rs.next())
{
int id=rs.getInt(1);
String str1=rs.getString(2);
int a=rs.getInt(3);
int b=rs.getInt(4);
System.out.println(id+str1+a+b);
}
}catch (SQLException e)
{
e.printStackTrace();
}
}
}
日志性能统计类:
import org.aspectj.lang.ProceedingJoinPoint;
public class LoggerAspect {
public Object log(ProceedingJoinPoint joinPoint) throws Throwable{
long start= System.currentTimeMillis();
Object object =joinPoint.proceed();
long end=System.currentTimeMillis();
System.out.println("查询耗时:"+(end-start));
return object;
}
}
.xml文件
<bean name="s" class=""/>
<bean id="loggcut" class=""/>
<aop:config>
<aop:pointcut id="loggpoint" expression="execution(* *(..))"/>
<aop:aspect id="logA" ref="loggcut">
<aop:around pointcut-ref="loggpoint" method="log"/>
</aop:aspect>
</aop:config>
着重在于XML pointcut就是指向的是业务功能类——切入点 配合后面的expression= 执行该类下的方法
aspect 则为性能统计 将注入对象id=“loggcut” 放入 再由around 及其属性pointcut-ref 和切入点联系 调用执行方法
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/21586.html