Spring AOP日志收集
1.创建maven web项目工程
2.配置pom.xml依赖
3.补全项目结构
4.创建application.xml文件spring配置文件
5.创建实体类(即pojo层,dao层代码,service层代码)
5.1创建pojo包里面创建学生类Student
为学生类添加相应的参数:序号id,学生姓名sname,学生学号sno,学生电话phone,并生成有参及无参、get和set以及同string构造方法
5.2dao层 创建StudentDao接口和Impl类
实现对数据库的增删查改的方法
StudentDaoImpl:
5.3编写Service层相应逻辑代码
StudentServiceImpl
实现Service注解
5.4创建日志类
package com.Test.pojo;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.stereotype.Component;
import java.util.Date;
@Component
@Aspect
public class Logger {
Date date = new Date();
@Around("execution(* com.Test.Service.*.*(..))")
public void logger(ProceedingJoinPoint joinPoint) throws Throwable {
System.out.println("开始执行,当前时间为:"+date);
joinPoint.proceed();
System.out.println("执行结束,当前时间为:"+date);
}
}
6.根据Student类字段创建数据库表
根据字段类型添加测试数据
7.完善applicationContext.xml配置文件
<!--配置数据源-->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<!--MySQL数据库驱动-->
<!--驱动名-->
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<!--MySQL数据库相应信息-->
<!--URL地址信息-->
<property name="url" value="jdbc:mysql://localhost:3306/aa?characterEncoding=utf-8&useSSL=true"></property>
<!--用户名、密码-->
<property name="username" value="root"></property>
<property name="password" value="2018220165"></property>
</bean>
<!--配置JDBC模板-->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"></property>
</bean>
<!--配置组件扫描器-->
<context:component-scan base-package="com.Test"></context:component-scan>
<!--aop注解配置-->
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>
8.编写JUnit测试类对增删查改方法进行测试
9.测试对数据库所有数据进行查询
测试代码为:
@Test
public void testQueryAll(){
//查询数据库中所有学生信息
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
StudentService studentService = ctx.getBean(StudentService.class);
studentService.queryAll();
}
测试结果为:
数据库内测试数据库为
10.测试有条件的查询(根据id查询学生信息)
查询id为2的学生信息
11.测试添加学生信息
增加学生信息,姓名为张浩,学号为116,电话为111111,序号为8
12.测试修改数据库中的学生信息
修改张浩同学的电话号码为55555
13.测试删除学生信息
将表中露露的信息删除(id为5)