昆明java培训
达内昆明广州春城路

18487146383

热门课程

Java:简单的通过XML的AOP配置

  • 时间:2016-10-21
  • 发布:昆明Java培训
  • 来源:达内新闻

昆明Java培训机构的老师今天给大家讲,简单的通过XML的AOP配置。

一、看一下简单的通过XML的AOP配置

1.首先创建一个简单的Student类

public class Student {

private Integer age;

private String name;

public void setAge(Integer age) {

this.age = age;

}

public Integer getAge() {

System.out.println("Age : " + age);

return age;

}

public void setName(String name) {

this.name = name;

}

public String getName() {

System.out.println("Name : " + name);

return name;

}

public void printThrowException() {

System.out.println("Exception raised");

throw new IllegalArgumentException();

}

}

2.创建一个简单的aspect切面class

public class Logging {/**

* This is the method which I would like to execute

* before a selected method execution.

*/public void beforeAdvice() {

System.out.println("Going to setup student profile.");

}

/**

* This is the method which I would like to execute

* after a selected method execution.

*/public void afterAdvice() {

System.out.println("Student profile has been setup.");

}

/**

* This is the method which I would like to execute

* when any method returns.

*/

public void afterReturningAdvice(Object retVal) {

System.out.println("Returning:" + retVal.toString());

}

/**

* This is the method which I would like to execute

* if there is an exception raised.

*/

public void AfterThrowingAdvice(IllegalArgumentException ex) {

System.out.println("There has been an exception: " + ex.toString());

}

}

3.SpringAOP.xml配置

<bean id="student" class="com.seeyon.SpringBean.aop.Student" p:name="yangyu" p:age="27"></bean>

<bean id="logging" class="com.seeyon.SpringBean.aop.Logging"></bean>

<!--XML方式配置Spring AOP-->

<aop:config>

<aop:aspect id="log" ref="logging">  【切面class】

<aop:pointcut id="studentMethod" expression="execution(* com.seeyon.SpringBean.aop.Student.get*(..))"/>【切点】

<aop:before pointcut-ref="studentMethod" method="beforeAdvice"/> 【方法执行之前触发切面class的beforeAdvice方法】

<aop:after pointcut-ref="studentMethod" method="afterAdvice"/>   【方法执行之后触发切面class的afterAdvice方法】

</aop:aspect>

</aop:config>

分析一下这个execution(* com.seeyon.SpringBean.aop.Student.get*(..))切点表达式:

(1)第一个*代表方法的返回值是任意的

(2)get*代表以get开头的所有方法

(3)(..)代表方法的参数是任意个数

4.main方法

public class test {

public static void main(String[] args) {

ApplicationContext context =

new ClassPathXmlApplicationContext("SpringAop.xml");

Student student = (Student) context.getBean("student");

student.getName();

//       student.getAge();

//       student.printThrowException();

}

}

5.输出结果

Going to setup student profile.

Name : yangyu

Student profile has been setup.

了解详情请登陆昆明达内Java培训官网(km.Java.tedu.cn)!

上一篇:mybatis动态调用表名和字段名
下一篇:java培训:简单的Spring AOP注解的使用

电脑编程学什么专业好?java好吗?【达内java培训】

上java培训有用吗?怎么衡量?【达内培训】

昆明java培训机构怎么选?昆明达内java培训怎么样?

学Java自学还是达内培训机构好?

选择城市和中心
贵州省

广西省

海南省

台湾