`

[maven + spring]SpringInAction方法替换<replaced-method>

阅读更多
引用

Spring 方法替换例子

1.sec3.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"
	xmlns:util="http://www.springframework.org/schema/util"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
           http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-4.0.xsd
           http://www.springframework.org/schema/aop
           http://www.springframework.org/schema/aop/spring-aop-4.0.xsd">
    <bean id="tigerReplacer" class="com.lh.springtest02.section3.TigerReplacer" />       
	<bean id="magicbox" class="com.lh.springtest02.section3.MagicBoxImpl">
		<replaced-method name="getContents" replacer="tigerReplacer"/>
	</bean>
	<bean id="harry" class="com.lh.springtest02.section3.Magician">
		<property name="magicWords" value="Bippity boppity boo" />
		<property name="magicBox" ref="magicbox" />
	</bean>
</beans>    

2.替换方法实现
import java.lang.reflect.Method;
import org.springframework.beans.factory.support.MethodReplacer;
public class TigerReplacer implements MethodReplacer{
	public Object reimplement(Object obj, Method method, Object[] args)
			throws Throwable {
		return "A ferocious tiger";
	}
}

3.MagicBoxImpl.java
public class MagicBoxImpl implements MagicBox{
	public MagicBoxImpl() {
	}
	public String getContents() {
		return "A Beautiful assistant";
	}
}

4.Magician.java
public class Magician implements Performer{
	private MagicBox magicBox;
	private String magicWords;
	public void perform() {
		System.out.println(magicWords);
		System.out.println("The magic box contains ...");
		System.out.println(magicBox.getContents());
	}
	public void setMagicBox(MagicBox magicBox) {
		this.magicBox = magicBox;
	}
	public void setMagicWords(String magicWords) {
		this.magicWords = magicWords;
	}
}

5.Bean测试
ApplicationContext ac = new ClassPathXmlApplicationContext("section3/sec3.xml");
Magician mc = (Magician)ac.getBean("harry");
mc.perform();

分享到:
评论

相关推荐

    springboot 基础简易实例, maven项目

    &lt;artifactId&gt;spring-boot-maven-plugin&lt;/artifactId&gt; &lt;/plugin&gt; &lt;/plugins&gt; &lt;/build&gt; &lt;/project&gt; --------------------------- src/main/resources/application.yml --------------------------- spring: # 指定...

    Maven+SpringMVC的入门级HelloWorld实例

    总结,Maven+SpringMVC的组合为Java Web开发提供了强大的支持,从项目管理到应用构建,再到复杂的业务逻辑处理,它们都扮演着不可或缺的角色。通过这个入门级的HelloWorld实例,我们可以快速理解这两个工具的基本...

    Maven+Spring+Spring MVC+MyBatis+MySQL,搭建SSM框架环境

    Maven+Spring+Spring MVC+MyBatis+MySQL,搭建SSM框架环境

    Maven+SSM(Spring+springMVC+MyBatis)整合框架

    ### Maven+SSM(Spring+SpringMVC+MyBatis)整合框架详解 #### Maven 安装与配置 在深入SSM框架整合之前,首先需要确保Maven环境的正确安装与配置。 1. **安装Maven** - **前提条件**:安装 JDK 1.7 及以上版本并...

    springmvc+spring+mybatis+Maven+mysql环境搭建,附源码

    ### Spring MVC + Spring + MyBatis + Maven + MySQL 环境搭建详解 #### 一、概述 在软件开发领域,尤其是Java Web开发中,**Spring MVC + Spring + MyBatis + Maven + MySQL**组合是一种非常流行的开发模式。本文...

    Maven下搭建Struts2+spring+hibernate框架

    &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;spring-context&lt;/artifactId&gt; &lt;version&gt;5.x.x.RELEASE&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;...

    spring和mybatis结合的maven工程

    &lt;artifactId&gt;springMybaits&lt;/artifactId&gt; &lt;version&gt;1.0-SNAPSHOT&lt;/version&gt; &lt;packaging&gt;jar&lt;/packaging&gt; &lt;name&gt;springMybaits&lt;/name&gt; &lt;url&gt;http://maven.apache.org&lt;/url&gt; &lt;properties&gt; &lt;project.build....

    基于maven的Spring + Spring MVC + Mybatis 的环境搭建

    ### 基于Maven的Spring + Spring MVC + Mybatis 的环境搭建 #### 一、Maven简介与优势 Maven是一种项目管理和构建工具,它主要用于Java项目的构建、依赖管理和项目文档生成等任务。Maven的优势在于其强大的依赖...

    009 maven插件spring-boot-maven-plugin

    &lt;artifactId&gt;spring-boot-maven-plugin&lt;/artifactId&gt; &lt;/plugin&gt; &lt;/plugins&gt; &lt;/build&gt; ``` 继承 Starter 父 POM Spring Boot 提供了一个 Starter 父 POM,用于简化 Spring Boot 项目的构建过程。该 POM 包含了...

    基于Maven的Spring_+_Spring_MVC_+_Mybatis的环境搭建

    ### 基于Maven的Spring + Spring MVC + MyBatis环境搭建详解 #### 一、项目背景与目标 在本篇文章中,我们将探讨如何基于Maven构建一个包含Spring、Spring MVC以及MyBatis框架的集成环境。项目的主要目的是为了...

    搭建SSM(springMVC+spring+mybatis)框架的maven项目

    &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;spring-webmvc&lt;/artifactId&gt; &lt;version&gt;5.3.18&lt;/version&gt; &lt;/dependency&gt; &lt;!-- Spring Core --&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework&lt;/groupId&gt; ...

    最新maven搭建的Spring mvc的demo

    &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;spring-webmvc&lt;/artifactId&gt; &lt;version&gt;5.3.23&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;javax.servlet&lt;/groupId&gt; &lt;artifactId&gt;javax.servlet-api...

    ssm搭建。。。

    --&lt;artifactId&gt;mybatis-generator-maven-plugin&lt;/artifactId&gt;--&gt; &lt;!--&lt;version&gt;1.3.5&lt;/version&gt;--&gt; &lt;!--&lt;configuration&gt;--&gt; &lt;!--&lt;verbose&gt;true&lt;/verbose&gt;--&gt; &lt;!--&lt;overwrite&gt;true&lt;/overwrite&gt;--&gt; &lt;!--&lt;/...

    springMVC+MyBatis整合Maven代码

    &lt;bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"&gt; &lt;!-- 数据源配置 --&gt; &lt;/bean&gt; &lt;bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean...

    使用intellij idea搭建MAVEN+SSM(Spring+SpringMVC+MyBatis

    【标题】:“使用IntelliJ IDEA搭建MAVEN+SSM(Spring+SpringMVC+MyBatis)项目” 【正文】 在Java开发领域,Spring、SpringMVC和MyBatis框架的组合,简称SSM,是构建Web应用程序的常用技术栈。IntelliJ IDEA作为...

    Maven拆分代码.zip

    &lt;property name="url" value="jdbc:mysql:///maven"/&gt; &lt;property name="username" value="root"/&gt; &lt;property name="password" value="root"/&gt; &lt;/bean&gt; &lt;!--配置生产SqlSession对象的工厂--&gt; &lt;bean id=...

    java8+tomcat8+struts2.5+spring4.3+hibernate5.2框架搭建详细过程

    &lt;spring.version&gt;4.3.0.RELEASE&lt;/spring.version&gt; &lt;hibernate.version&gt;5.2.0.Final&lt;/hibernate.version&gt; &lt;struts2.version&gt;2.5.1&lt;/struts2.version&gt; &lt;jackson.version&gt;2.7.5&lt;/jackson.version&gt; &lt;log4j.version&gt;...

    基于Maven 搭建Spring + SpringMVC源码.rar

    &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;spring-context&lt;/artifactId&gt; &lt;version&gt;5.x.x.RELEASE&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;...

    使用Eclipse+Maven+Spring+CXF构建的WebService服务

    Web项目中基于Maven与Spring整合的WebService之cxf的实现⬇️ 详情请参考如下链接: https://locqi.github.io/locqi.com/2018/09/05/Eclipse+Maven+Spring+CXF-create-WebService/

    maven+spring+jdbc+mvc项目整合

    【标题】"maven+spring+jdbc+mvc项目整合"是一个综合性的开发教程,它将四个关键的技术元素——Maven、Spring、JDBC和Model-View-Controller(MVC)框架融合在一个项目中,旨在帮助开发者理解如何在实际开发环境中...

Global site tag (gtag.js) - Google Analytics