首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Spring学习札记 AOP的HelloWorld

2012-09-29 
Spring学习笔记 AOP的HelloWorldHelloWorld实现的基本步骤如下:1.建立接口package aoppublic interface W

Spring学习笔记 AOP的HelloWorld

HelloWorld实现的基本步骤如下:

1.建立接口

package aop;public interface WebSite{    public void showContent();}

2.建立接口的实现类

package aop;public class ArvinRongHomePage implements WebSite{    @Override    public void showContent()    {        System.out.println("Arvin Rong's Space.");    }}

3.建立main方法类

package aop;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class AopMain{    /**     * @authorArvinRong, 2012-8-31     */    public static void main(String[] args)    {        String configString = "aop/spring-config.xml";        ApplicationContext context = new ClassPathXmlApplicationContext(configString);        WebSite webSite = context.getBean("website",WebSite.class);        webSite.showContent();    }}

4.建立Spring配置文件

<?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"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">            <bean id="website" class="aop.ArvinRongHomePage" />  </beans>

测试运行,通过后

Arvin Rong's Space.


 

5.建立在接口实现类方法前需要执行的代码类(这种类在Spring中叫做Advice)

package aop;import java.lang.reflect.Method;import org.springframework.aop.MethodBeforeAdvice;public class BeforeContentAdvice implements MethodBeforeAdvice{    @Override    public void before(Method arg0, Object[] arg1, Object arg2)            throws Throwable    {       System.out.println("Welcome to my page.");    }}

6.修改Spring配置文件

<?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"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">            <bean id="websiteTarget" class="aop.ArvinRongHomePage" /><!--id由website更改为websiteTarget-->    <bean id="websiteAdvice" class="aop.BeforeContentAdvice" />        <bean id="website" class="org.springframework.aop.framework.ProxyFactoryBean">        <property name="proxyInterfaces" value="aop.WebSite" />        <property name="interceptorNames">            <list>                <value>websiteAdvice</value>            </list>        </property>        <property name="target" ref="websiteTarget" />    </bean></beans>

测试运行,查看结果

Welcome to my page.Arvin Rong's Space.


 

热点排行