spring3.2 aop 搭建 (1)

时间:2023-01-20 23:27:07

用spring3.2搭建一个aop

1 需要的jar包

spring3.2 aop 搭建 (1)spring3.2 aop 搭建 (1)


2 整个项目图

spring3.2 aop 搭建 (1)spring3.2 aop 搭建 (1)


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(); 
}


3.4  HelloImpl.java
package aop.dao;


public class HelloImpl implements Hello {

	public void sayHello() {
		System.out.println("hello");
	}

}


3.5 Test.java

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 运行结果

spring3.2 aop 搭建 (1)

spring3.2 aop 搭建 (1)