`

Spring.AOP下的 hello world !

阅读更多
此方法只做演示,项目中不使用
项目中用annotation

此代码输出 "World"
package com.test532;

public class MessageWriter {
	public void writeMessage(){
		System.out.print("World");
	}
}


如何使用AOP,在松耦合情况下输出 hello world !

以下代码实现:


package com.test532;

import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;

//此类实现包围通知  MethodInterceptor
public class MethodDecorator implements MethodInterceptor{

	@Override
	public Object invoke(MethodInvocation invocation) throws Throwable {
		System.out.print("Hello ");
		Object retVal = invocation.proceed();
		System.out.print(" !");
		return retVal;
	}
}


public class HelloWorldWriter {
	public static void main(String[] args) {
		MessageWriter writer = new MessageWriter();
		//使用ProxyFactory是完全编程式的做法,一般我们不需要这么做,
		//可以依靠ProxyFactoryBean类来声明式地创建代理 
		ProxyFactory factory = new ProxyFactory();//创建代理工厂
		factory.addAdvice(new MethodDecorator());//织入通知
		factory.setTarget(writer);//设定织入的目标对象
		MessageWriter proxy = (MessageWriter)factory.getProxy(); //获得代理
		proxy.writeMessage();
	}
}


打印出:
Hello World !


分享到:
评论

相关推荐

    Spring的AOP示例DEMO HELLOWORLD

    本示例DEMO "Spring的AOP示例DEMO HELLOWORLD" 将引导我们深入理解Spring AOP的核心概念,并通过一个简单的 HelloWorld 示例来展示其实现过程。 首先,面向切面编程(AOP)是一种编程范式,旨在提高代码的可维护性...

    使用Spring3.0框架开发Hello World例子

    接下来,我们使用Spring的XML配置文件来定义`HelloWorld`类的bean。在`Spring3`压缩包中的`applicationContext.xml`文件可以这样编写: ```xml <beans xmlns="http://www.springframework.org/schema/beans" xmlns...

    Spring4 HelloWorld

    Spring框架是Java开发中广泛使用的轻量级框架,它以其依赖...学习和理解"Spring4 HelloWorld",不仅能够帮助初学者掌握Spring的基本用法,也为进一步深入学习Spring的其他高级特性,如AOP、MVC、JPA等打下坚实基础。

    Spring第一个HelloWorld

    总的来说,"Spring第一个HelloWorld"是一个很好的起点,它可以帮助开发者建立对Spring框架的基本认识,为后续学习Spring的AOP(面向切面编程)、事务管理、数据访问、MVC等高级特性打下坚实的基础。

    利用Spring输出HelloWorld

    本文将深入探讨如何利用Spring框架输出“HelloWorld”,并介绍相关的基础知识。 首先,Spring是一个开源的Java平台,它为创建复杂的、模块化的、松耦合的Java应用程序提供了强大的支持。它的核心特性包括依赖注入...

    spring笔记之helloworld所需要的jar包

    本篇文章将详细讲解在创建一个简单的Spring HelloWorld应用时,需要导入的jar包以及它们在Spring框架中的作用。 首先,我们需要理解Spring的核心组件,即Spring IoC(Inversion of Control)容器。IoC容器是Spring...

    Eclipse下Spring示例HelloWorld程序

    在Eclipse这个强大的Java集成开发环境中,创建一个Spring框架的HelloWorld程序是学习Spring入门的典型步骤。这个程序展示了如何在Eclipse中配置Spring环境,编写简单的Bean定义,并通过Spring的IoC(Inversion of ...

    spring helloworld 例子

    在“spring helloworld”例子中,我们通常会创建一个简单的Java类,如`HelloWorld`,它包含一个输出“Hello, World!”的`sayHello()`方法。这个类将成为我们的核心业务逻辑,但不直接管理自己的生命周期,而是由...

    Spring之HelloWorld

    在“Spring之HelloWorld”这个例子中,我们将首先设置项目的基本结构,然后创建一个简单的Spring配置文件,接着编写一个Bean类并进行注入,最后运行程序显示“Hello, World!”。 1. **项目配置**: 创建一个新的...

    spring入门学习-hello,world

    当我们运行`MainApp`时,Spring容器会加载配置文件,创建`HelloWorld`实例,并调用其`sayHello`方法,输出"Hello, World!"。 接下来,我们可以扩展这个例子,添加更多的bean,实现更复杂的依赖关系。Spring还提供了...

    spring4.0入门案例-helloworld

    在这个"spring4.0入门案例-helloworld"中,我们将学习如何搭建一个基本的Spring环境,并实现一个简单的"Hello, World!"应用。 首先,我们需要理解Spring的核心概念:依赖注入(Dependency Injection,简称DI)。在...

    Spring入门笔记.md

    ## Spring入门学习 首先认识下Spring的结构 ![架构图]...<bean id="helloBean" class="mybatis.study.start.bean.HelloWorld"> ``` list Map,provincecitymysqq

    spring2-aop.pdf

    - **AspectJ 版的 HelloWorld 示例**:通过一个简单的示例来演示如何使用 AspectJ 编写和织入切面。 - **AspectJ 中相关语法**:详细介绍 AspectJ 语言的各种特性和语法,如声明切面、切点表达式等。 - **一个简单的...

    spring學習筆記——Helloworld

    在本篇“Spring学习笔记——HelloWorld”中,我们将探讨Spring框架的基础知识,以及如何创建一个简单的Spring应用程序。Spring是一个广泛使用的Java企业级应用开发框架,它提供了丰富的功能,包括依赖注入、AOP...

    spring MVC Helloworld

    **Spring MVC HelloWorld 实例详解** 在Java Web开发中,Spring MVC框架被广泛使用,它为构建基于模型-视图-控制器(MVC)模式的Web应用程序提供了强大的支持。本篇文章将详细讲解如何在MyEclipse2013环境中创建一...

    Spring aop.docx

    3. **编写Controller代码**:创建一个简单的RESTful API,例如一个返回"Hello, World!"的GET方法。 4. **编写@Aspect代码**:创建一个带有`@Aspect`注解的类,定义切入点表达式(例如匹配所有Controller方法),并...

    spring DI HelloWorld

    标题 "spring DI HelloWorld" 涉及的是Spring框架中的依赖注入(Dependency Injection,简称DI)基础知识,这是一个在Java开发中非常关键的概念。依赖注入是Spring框架的核心特性,它允许我们解耦组件之间的依赖关系...

    SpringMVC入门很简单之HelloWorld

    在"SpringMVC入门很简单之HelloWorld"这个主题中,我们将探讨如何设置一个基本的SpringMVC项目并实现简单的"Hello, World!"展示。 首先,项目结构至关重要。在给定的文件名称列表中,我们看到了几个关键目录: 1. ...

    spring+mybatis的helloworld项目

    在本项目"spring+mybatis的helloworld"中,我们主要关注的是如何使用Spring和MyBatis这两个流行的Java开发框架来构建一个简单的Web应用程序。这个项目以Maven为构建工具,实现了MySQL数据库的插入操作,并利用Log4j...

    spring-mvc helloworld demo

    - 在 `WEB-INF/views` 目录下,创建一个对应的 JSP 文件,如 `hello.jsp`,并在其中显示 "Hello, World!"。 7. **运行与测试**: - 配置好开发环境(如 Tomcat 服务器)后,将项目部署到服务器,并访问指定的 URL...

Global site tag (gtag.js) - Google Analytics