1.pom文件
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.36</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.2</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.3.2</version>
</dependency>
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
</dependency>
<dependency>
<groupId>commons-dbutils</groupId>
<artifactId>commons-dbutils</artifactId>
<version>1.7</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.9.6</version>
</dependency>
</dependencies>
2.applicationContext.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-4.0.xsd">
<!-- 配置bean-->
<bean id="accountDao" class="top.chenyp.dao.impl.AccountDaoImpl">
</bean>
<bean id="accountService" class="top.chenyp.service.impl.AccountServiceImpl">
<property name="accountDao" ref="accountDao"/>
</bean>
<bean id="logAdvice" class="top.chenyp.aspect.MyAspect"/>
<aop:config>
<!-- 表达式 访问修饰符 返回值 包名.包名.包名...类名.方法名(参数名)
全统配写法: * *..*.*(..)
-->
<aop:pointcut id="pd" expression="execution(* top.chenyp..*.*(..))"/>
<aop:aspect id="aspectAdvice" ref="logAdvice">
<aop:before method="pdBefore" pointcut-ref="pd"/>
<aop:after method="pdAfter" pointcut-ref="pd"/>
</aop:aspect>
</aop:config>
3.配置aspect的类
package top.chenyp.aspect;
public class MyAspect {
public void pdAfter(){
System.out.println("方法之后执行");
}
public void pdBefore(){
System.out.println("方法之前执行");
}
}
4.配置service层和dao和pojo等类
省略
5.测试代码
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:applicationContext.xml")
public class test {
@Autowired
private AccountService accountService;
@Test
public void test01(){
List<Account> all = accountService.findAll();
for (Account account : all) {
System.out.println(account);
}
}
}