spring aop的简单示例
新建java项目,添加spring的core和aop库
简单的业务接口
package net.soho.test.spring.aop;
public interface IHello {
public String getContent(String h);
}
简单的业务类
package net.soho.test.spring.aop;
public class Hello implements IHello {
public String getContent(String h) {
return h;
}
}
实现MethodBeforeAdvice 接口的
package net.soho.test.spring.aop;
import java.lang.reflect.Method;
import org.springframework.aop.MethodBeforeAdvice;
public class LoggingBeforeAdvice implements MethodBeforeAdvice {
public void before(Method arg0, Object[] arg1, Object arg2)
throws Throwable {
// TODO Auto-generated method stub
System.out.println("业务方法开始执行.....");
}
}
主调程序HelloClient.java
package net.soho.test.spring.aop;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
public class HelloClient {
public static void main(String[] args) {
[color=red]Resource resource = new ClassPathResource("applicationContext.xml");
org.springframework.beans.factory.BeanFactory factory= new XmlBeanFactory(resource);[/color] IHello h= (IHello) factory.getBean("hellobean");
System.out.println(h.getContent("多啦A梦"));
}
}
红色部分为读取spring配置文件的一般写法
spring配置文件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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="hellobean"
class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>net.soho.test.spring.aop.IHello</value>
</property>
<property name="target">
<ref local="hellobeanTarget" />
</property>
<property name="interceptorNames">
<list>
<value>loggingBeforeAdvisor</value>
</list>
</property>
</bean>
<bean id="hellobeanTarget" class="net.soho.test.spring.aop.Hello"></bean>
<bean id="loggingBeforeAdvisor"
class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
<property name="advice">
<ref local="loggingBeforeAdvice"></ref>
</property>
<property name="pattern">
<value>.*</value>
</property>
</bean>
<bean id="loggingBeforeAdvice"
class="net.soho.test.spring.aop.LoggingBeforeAdvice">
</bean>
</beans>
执行结果:
log4j:WARN No appenders could be found for logger (org.springframework.util.ClassUtils).
log4j:WARN Please initialize the log4j system properly.
业务方法开始执行.....
多啦A梦
前两行是因为没有设置日志出现的
分享到:
相关推荐
NULL 博文链接:https://hnzhoujunmei.iteye.com/blog/759473
NULL 博文链接:https://hnzhoujunmei.iteye.com/blog/765024
NULL 博文链接:https://hnzhoujunmei.iteye.com/blog/759635
NULL 博文链接:https://hnzhoujunmei.iteye.com/blog/765052
NULL 博文链接:https://hnzhoujunmei.iteye.com/blog/758765
NULL 博文链接:https://hnzhoujunmei.iteye.com/blog/759558
NULL 博文链接:https://hnzhoujunmei.iteye.com/blog/768806
微信开发平台开发工具 JDK jdk 6.0 jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008
java6.0文档chm版,分成三部分,分别为JDK6.0+中文文档-lytim24.part1.rar、JDK6.0+中文文档-lytim24.part2.rar、JDK6.0+中文文档-lytim24.part3.rar
jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-...
开发工具 jdk-8u121-windows-i586开发工具 jdk-8u121-windows-i586开发工具 jdk-8u121-windows-i586开发工具 jdk-8u121-windows-i586开发工具 jdk-8u121-windows-i586开发工具 jdk-8u121-windows-i586开发工具 jdk-8...
这个是安装开发工具java jdk 有很多用途
java-jdk1.8-8u361-all-jdk-win-linux 该压缩包中包含jdk1.8-8u361下windows版本和linux版本,其包含快速安装包和对应的jdk压缩包版本,具体内容如下: jdk-8u361-linux-aarch64.rpm jdk-8u361-linux-i586.rpm jdk-8...
jdk-8u131-windows-x64jdk-8u131-windows-x64jdk-8u131-windows-x64jdk-8u131-windows-x64jdk-8u131-windows-x64jdk-8u131-windows-x64jdk-8u131-windows-x64jdk-8u131-windows-x64jdk-8u131-windows-x64jdk-8u131-...
jdk-11.0.6_windowsjdk-11.0.6_windowsjdk-11.0.6_windowsjdk-11.0.6_windowsjdk-11.0.6_windowsjdk-11.0.6_windowsjdk-11.0.6_windows
java JDK1.8.60-jdk-8u60-windows-x64,java JDK1.8.60-jdk-8u60-windows-x64,java JDK1.8.60-jdk-8u60-windows-x64
jdk-8u60-windows-i586 jdk-8u60-windows-i586 jdk-8u60-windows-i586 jdk-8u60-windows-i586 jdk-8u60-windows-i586
jdk6.0-04.zipjdk6.0-04.zipjdk6.0-04.zipjdk6.0-04.zip
jdk1.8 jdk-8u5-windows-i586 32位官方正式版 jdk1.8 jdk-8u5-windows-i586 32位官方正式版