beans.xml文件
<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"
xmlns:tx="http://www.springframework.org/schema/tx"
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-2.5.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-4.2.xsd
">
<context:annotation-config />
<bean id="springHelloWorld" class="com.zaakman.spring.SpringHelloWorld"></bean>
<bean id="sructHelloWorld" class="com.zaakman.spring.SructHelloWorld"></bean>
<bean id="log" class="com.zaakman.advice.Log"/>
<bean id="helloWorldServer" class="com.zaakman.server.HelloWorldServer">
<property name="helloWorld" ref="springHelloWorld"/>
</bean>
<aop:config>
<aop:aspect id="logd" ref="log" order="1">
<aop:pointcut id="addlog" expression="execution(* com.zaakman.spring.iml.HelloWorld.*(..))"/>
<aop:before method="logdd" pointcut-ref="addlog" />
<aop:after-returning method="logRet" pointcut-ref="addlog"
returning="ret"
/>
</aop:aspect>
</aop:config>
</beans>
HelloWorld.java
public interface HelloWorld {
public String sayHi(String n);
}
SpringHelloWorld.java
public class SpringHelloWorld implements HelloWorld {
public String sayHi(String n) {
System.out.println("Spring Hello World!");
return "Spring!";
}
}
SructHelloWorld.java
public class SructHelloWorld implements HelloWorld {
public String sayHi(String n) {
System.out.println("Struct Hello World!");
return "Sruct!";
}
}
HelloWorldServer.java
public class HelloWorldServer {
private HelloWorld helloWorld;
public HelloWorldServer() {
}
public void setHelloWorld(HelloWorld helloWorld) {
this.helloWorld = helloWorld;
}
public HelloWorld getHelloWorld() {
return this.helloWorld;
}
}
Log.java
public class Log {
public void logdd(JoinPoint joinPoint){
System.out.println(joinPoint.getArgs()[0] + "");
System.out.println("what?");
}
public void logRet(Object ret){
String value = (String)ret;
System.out.println(value);
}
}
App.java
ApplicationContext context =
new ClassPathXmlApplicationContext("beans.xml");
HelloWorldServer service =
(HelloWorldServer) context.getBean("helloWorldServer");
HelloWorld hw= service.getHelloWorld();
hw.sayHi("llll~~~~");
结果:
llll~~~~
what?
Spring Hello World!
Spring!