2006-10-15
Spring 实战(二) aop
接前面做的一个例子,我们在注册并操作数据库之前要求输出一句提示语句(仅做示范),即在RegistAction.java中调用方法onSubmit()之前织入一个通知,用来输出提示语句.
如下:
定义通知类 StudentDaoBeforeAdvice.java
下面在Spring配置文件中配置 通知器 ,通知,自动代理
applicationContent.xml
* org.springframework.web.* 在定义切点时,要加上这句代码,否则自动代理无效.详情请见
至此,就可以完成此aop应用了,当注册验证成功并在写入数据之前,会输出信息:
通知已织入....数据即将写入
如下:
定义通知类 StudentDaoBeforeAdvice.java
java 代码
- public class StudentDaoBeforeAdvice implements MethodBeforeAdvice {
- private Student student;
- public void setStudent(Student student){
- this.student=student;
- }
- public void before(Method method, Object[] args, Object target)
- throws Throwable {
- // TODO Auto-generated method stub
- // to do what you want here!
- System.out.println("通知已织入....数据即将写入");
- }
- }
下面在Spring配置文件中配置 通知器 ,通知,自动代理
applicationContent.xml
xml 代码
- <?xml version="1.0" encoding="UTF-8"?>
- DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
- "http://www.springframework.org/dtd/spring-beans.dtd">
- <beans>
- <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
- <property name="viewClass">
- <value>org.springframework.web.servlet.view.JstlViewvalue>
- </property>
- <property name="prefix">
- <value>/result/value>
- </property>
- <property name="suffix">
- <value>.jspvalue>
- </property>
- </ bean>
- <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
- destroy-method="close">
- <property name="driverClassName">
- <value>net.sourceforge.jtds.jdbc.Drivervalue>
- </property>
- <property name="url">
- <value>jdbc:jtds:sqlserver://127.0.0.1:1433/testvalue>
- </property>
- <property name="username">
- <value>savalue>
- property>
- <property name="password">
- <value>savalue>
- </property>
- </bean>
- <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
- <property name="dataSource">
- <ref bean="dataSource" />
- </property>
- </bean>
- <bean id="simpleMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
- <property name="urlMap">
- <map>
- <entry key="/regist.do">
- <value>RegistActionvalue>
- </entry>
- </ map>
- </ property>
- < /bean>
- <bean id="studentDaoTarget" class="phoenix.spring.impl.StudentDaoImp">
- <property name="jdbcTemplate">
- <ref bean="jdbcTemplate" />
- </property>
- </bean>
- <bean id="studentDao" class="org.springframework.aop.framework
- .autoproxy.BeanNameAutoProxyCreator">
- <property name="beanNames"><value>RegistActionvalue>property>
- <property name="interceptorNames">
- <value>advisorvalue>
- </property>
- </bean>
- <bean id="advice" class="phoenix.spring.aop.StudentDaoBeforeAdvice">
- </bean>
- <bean id="advisor" class="org.springframework.aop.support.
- RegexpMethodPointcutAdvisor">
- <property name="advice">
- <ref local="advice" />
- </property>
- <property name="patterns">
- <list>
- <value>.*onSubmit.*value>
- org.springframework.web.*
- </list>
- property>
- </bean>
- <bean id="RegistAction" class="phoenix.spring.impl.RegistAction">
- <property name="commandClass">
- <value>phoenix.spring.model.Studentvalue>
- </property>
- <property name="studentDaoImp">
- <ref local="studentDaoTarget"/>
- </ property>
- <property name="success_view">
- <value>successvalue>
- </property>
- <property name="fail_view">
- <value>failvalue>
- </ property>
- </bean>
- </beans>
至此,就可以完成此aop应用了,当注册验证成功并在写入数据之前,会输出信息:
通知已织入....数据即将写入
发表评论
- 浏览: 6020 次
- 性别:

- 来自: 陕西

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
五十音图
写 东西 认真点才有人看
-- by Uranus -
Spring 实战(二) aop
代码看点有点眼花,建议放在java代码格式内
-- by tiger.passion






评论排行榜