用spring3.2搭建一个aop
1 需要的jar包
2 整个项目图
3 java代码
3.1 Advice.java
package aop.advice; public interface Advice { public void before(); }
3.2 AdviceImpl.java
package aop.advice; public class AdviceImpl implements Advice { public void before() { System.out.println("before"); } }
3.3 Hello.java
package aop.dao; public interface Hello { public void sayHello(); }
package aop.dao; public class HelloImpl implements Hello { public void sayHello() { System.out.println("hello"); } }
package aop.junit; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import aop.dao.Hello; import aop.dao.HelloImpl; public class Test { public static void main(String[] args) { Hello helloImp = new HelloImpl(); ApplicationContext con = new ClassPathXmlApplicationContext("classpath:spring/xml/spring.xml"); Hello hello = con.getBean("hello", Hello.class); hello.sayHello(); } }
4 web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <!-- 配置spring监听开始 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/xml/spring.xml</param-value> </context-param> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <!-- 配置spring监听开结束--> <display-name></display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
5 spring.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:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd"> <import resource="spring-dao.xml"/> </beans>
6 spring-dao.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:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd"> <bean id="hello" class="aop.dao.HelloImpl" /> <bean id="advice" class="aop.advice.AdviceImpl" /> <aop:config> <aop:aspect id="ha" ref="advice"> <aop:pointcut id="pc" expression="execution(* aop.dao.*.*(..))"/> <aop:before pointcut-ref="pc" method="before"/> </aop:aspect> </aop:config> </beans>
7 运行结果