package com.tim.Aop;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;
@Aspect
@Component
public class LogIntercept {
@Before("execution(public void com.tim.dao.impl.UserDaoImpl.save(com.tim.model.User))")
public void before(){
System.out.println("start...");
}
}
package com.tim.dao.impl;
import org.springframework.stereotype.Component;
import com.tim.dao.UserDao;
import com.tim.model.User;
@Component("userDao")
public class UserDaoImpl implements UserDao {
@Override
public void save(User u) {
System.out.println("add ok");
}
}
package com.tim.service;
import javax.annotation.Resource;
import org.springframework.stereotype.Component;
import com.tim.dao.UserDao;
import com.tim.model.User;
@Component("userservice")
public class UserService {
private UserDao userDao;
public UserDao getUserDao() {
return userDao;
}
@Resource(name="userDao")
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
public void add(User u){
userDao.save(u);
}
}
<?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.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd">
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>
<context:annotation-config></context:annotation-config>
<context:component-scan base-package="com.tim"></context:component-scan>
<!-- more bean definitions go here -->
</beans>
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;
@Aspect
@Component
public class LogIntercept {
@Before("execution(public void com.tim.dao.impl.UserDaoImpl.save(com.tim.model.User))")
public void before(){
System.out.println("start...");
}
}
package com.tim.dao.impl;
import org.springframework.stereotype.Component;
import com.tim.dao.UserDao;
import com.tim.model.User;
@Component("userDao")
public class UserDaoImpl implements UserDao {
@Override
public void save(User u) {
System.out.println("add ok");
}
}
package com.tim.service;
import javax.annotation.Resource;
import org.springframework.stereotype.Component;
import com.tim.dao.UserDao;
import com.tim.model.User;
@Component("userservice")
public class UserService {
private UserDao userDao;
public UserDao getUserDao() {
return userDao;
}
@Resource(name="userDao")
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
public void add(User u){
userDao.save(u);
}
}
<?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.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd">
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>
<context:annotation-config></context:annotation-config>
<context:component-scan base-package="com.tim"></context:component-scan>
<!-- more bean definitions go here -->
</beans>