Spring的<aop:declare-parents>元素如何使用,有范例

来源:互联网 发布:9月新能源汽车产销数据 编辑:程序博客网 时间:2024/06/18 17:17

原文地址:点击打开链接

提示:

如下是一个如何使用Spring框架的<aop:declare-parents>元素的例

步骤一、

1、打开Eclipse

2、点击 New -> Others

3、选择wizards type "Java Project"--Java Project

4、点击下一步

5、键入名称DeclareParentTagInSpringExample点击下一步

6、在Libraries页面选择Add External JARs,添加 Spring's 21 Framework Jarsaopalliance-1.0.jar, aspectjtools-1.6.6.jar and commons-logging-1.1.jar。

7.点击完成

步骤二、工程预览


StudentAdditionalDetails.java

<span style="font-family:SimSun;font-size:18px;">package com.springexample; public class StudentAdditionalDetails implements StudentAdditionalDetailsImpl {    private String city;    private String country;         public String getCity() {        return city;    }    public void setCity(String city) {        this.city = city;    }    public String getCountry() {        return country;    }    public void setCountry(String country) {        this.country = country;    }         public void showAdditionalDetails(){        System.out.println(this.city);        System.out.println(this.country);    }}</span>
RunMyProgram.java
package com.springexample; import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext; public class RunMyProgram {    public static void main(String[] args) {        ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");        StudentAdditionalDetailsImpl studentAdditionalDetails = (StudentAdditionalDetailsImpl) context.getBean("studentAdditionalDetails");        ((StudentImpl) studentAdditionalDetails).showDetails();        studentAdditionalDetails.showAdditionalDetails();    }}
StudentImpl.java
package com.springexample; public interface StudentImpl {    public void showDetails();}
beans.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"    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">     <bean id="student" class="com.springexample.Student">        <property name="studentNo" value="1001" />        <property name="studentName" value="John Peter" />    </bean>         <bean id="studentAdditionalDetails" class="com.springexample.StudentAdditionalDetails">        <property name="city" value="Newyork" />        <property name="country" value="America" />    </bean>         <aop:config>        <aop:aspect>            <aop:declare-parents types-matching="com.springexample.StudentAdditionalDetailsImpl+"                                 implement-interface="com.springexample.StudentImpl"                                 delegate-ref="student" />        </aop:aspect>    </aop:config> </beans>

StudentAdditionalDetailsImpl.java

package com.springexample; public interface StudentAdditionalDetailsImpl {    public void showAdditionalDetails();}


Student.java

package com.springexample; public class Student implements StudentImpl {    private int studentNo;    private String studentName;         public int getStudentNo() {        return studentNo;    }    public void setStudentNo(int studentNo) {        this.studentNo = studentNo;    }    public String getStudentName() {        return studentName;    }    public void setStudentName(String studentName) {        this.studentName = studentName;    }            public void showDetails(){        System.out.println(this.studentNo);        System.out.println(this.studentName);    }}


Output 

1001
John Peter
Newyork
America

0 1
原创粉丝点击