Spring版本: Spring3.0
1. IUserService.java
package com.lk.springdi.service; import com.lk.springdi.model.User; public interface IUserService { int addUser(User user); void deleteUser(User user); }
UserServiceImpl.java
package com.lk.springdi.service.impl; import javax.annotation.Resource; import org.springframework.stereotype.Service; import com.lk.springdi.dao.IUserDao; import com.lk.springdi.model.User; import com.lk.springdi.service.IUserService; @Service("userService") public class UserServiceImpl implements IUserService { private IUserDao userDao; @Override public int addUser(User user) { userDao.add(user); return 0; } @Override public void deleteUser(User user) { System.out.println("delete user"); } public IUserDao getUserDao() { return userDao; } @Resource public void setUserDao(IUserDao userDao) { this.userDao = userDao; } }
切面类: LogIntercepter.java
package com.lk.springdi.aop; public class LogIntercepter { public void beforeMethod() { System.out.println("do some thing before method"); } public void afterMethod() { System.out.println("do some thing after method"); } }
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: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-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"> <context:annotation-config/> <context:component-scan base-package="com.lk.springdi"/> <bean id="logIntercepter" class="com.lk.springdi.aop.LogIntercepter"></bean> <aop:config> <aop:pointcut expression="execution(public * com.lk.springdi.service..*.*(..))" id="serviceCut"/> <aop:aspect id="logAspect" ref="logIntercepter"> <aop:before method="beforeMethod" pointcut-ref="serviceCut"/> <aop:after method="afterMethod" pointcut-ref="serviceCut"/> </aop:aspect> </aop:config> </beans>
测试
@Test public void test1() { ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml"); IUserService userService = (IUserService) applicationContext.getBean("userService"); User user = new User(); userService.deleteUser(user); }
浙公网安备 33010602011771号