spring对象-spring让一个对象的创建不用new了

问题描述

spring让一个对象的创建不用new了

是什么对象不用new了。aop有是什么东西。网上说的不容易理解。希望大神能给通俗的讲讲。谢谢。

解决方案

IOC(DI)简单地说就是,调用类对某一接口实现类的依赖关系又第三方(容器或者协作类)注入。举个例子

控制即是对于接口B的控制权
反转即是这种控制权从A上移除,转交到D里

调用类A对接口B的实现类C的依赖由第三方D类来提供。
这个解释够浅显了吧!!!

解决方案二:

C++用new和不用new创建类对象
C++用new和不用new创建类对象区别
C++用new和不用new创建类对象区别

解决方案三:

因为Spring是由IOC容器创建对象。
AOP(面向切面编程)我个人是这样理解的:
一个方法运行可以看作是一辆直达的火车的运行,
这辆火车可以看作是目标对象(Target Object),
然后起点和终点这两个站就是AOP的切面(Aspect),
两个点记录火车运行前,中和后的状态以及异常等,这些状态和异常等是切入点(PointCut),
而这些状态的好或坏,异常的分类等属于连接点(Joinpoint),
火车站面对这些状态异常等所产生的回应动作称为通知(Advice)。

看了以上理解,可以看出AOP可用于事务处理,方法调用的日志记录,监控重要方法等很多方面

时间: 2024-12-21 01:37:22

spring对象-spring让一个对象的创建不用new了的相关文章

【Spring实战】—— 3 使用facotry-method创建单例Bean总结

如果有这样的需求: 1 不想再bean.xml加载的时候实例化bean,而是想把加载bean.xml与实例化对象分离. 2 实现单例的bean 以上的情况,都可以通过工厂方法factory-method来创建bean. 这样再加载bean.xml时,不会直接实例化bean,而是当调用factory-method所指的方法时,才开始真正的实例化. 首先看一下传统的单例模式的实现方式: 1 最原始的实现单例模式的方法(存在线程不安全): public class SingletonOne { pri

spring框架——Spring 框架简介

Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架. 在这篇由三部分组成的 Spring 系列 的第 1 部分中,我将介绍 Spring 框架.我先从框架底层模型的角度描述该框架的功能,然后将讨论两个最有趣的模块:Spring 面向方面编程(AOP)和控制反转 (IOC) 容器.接着将使用几个示例演示 IOC 容器在典型应用程序用例场景中的应用情况.这些示例还将成

开启 Spring & Spring MVC 之旅

不废话了,Spring 有多重要.首先是跑个 Hello World.Spring 最基本功能是 IOC,如果不懂或者好奇原理的可以参考<极简版 Java 依赖注射>. Hello World 怎么获取 Spring?官方推荐 Maven 依赖管理(据说 Ant 也可以),也可以下载 Java 源码构建.但本人比较追求好快多省,不喜欢加一坨坨多余的东西,就想直接下 jar 包.于是找到 http://repo.spring.io/release/org/springframework/. 不知

Spring Boot &amp; Spring Cloud 应用内存管理

本文讲的是Spring Boot & Spring Cloud 应用内存管理,在整体应用架构中,非生产环境情况下,一般 1GB 或者 2GB 的 RAM 就足够了.如果我们将这个应用程序划分为 20 或 30 个独立的微服务,那么很难期望 RAM 仍将保持在 1GB 或 2GB 左右.特别是如果我们使用 Spring Cloud 的时候. 首先,准备三个服务,Eureka 服务 + 提供 REST API 的两个简单的微服务,并将微服务注册到 Eureka.此处,不以任何方式限制这些应用程序的内

【Spring】Spring基础配置-依赖注入

转载请注明出处:http://blog.csdn.net/qq_26525215 本文源自[大学之旅_谙忆的博客] Spring框架本身有四大原则: 1.使用POJO进行轻量级和最小侵入式开发 2.通过依赖注入和基于接口编程实现松耦合 3.通过AOP和默认习惯进行声明式编程 4.使用AOP和模板减少模式化代码 在Spring环境中,控制翻转(IoC)-Inversion of Control和依赖注入(DI)-dependency injection是等同的概念. 控制翻转是通过依赖注入实现的.

c#-C#同一个类的两个不同对象,怎样将两个对象合并到一个对象中

问题描述 C#同一个类的两个不同对象,怎样将两个对象合并到一个对象中 我写一个类Class A,类A中有多不同的构造函数: class A { public A() public A(parm1,parm2) public A(clsCustom s) //用于自定义类 } 我创建了两个对象,a1=new A(p1,p2),a2=new A(clsCustom s1) 我需要用a2自定义类的中的数据与a1中的数据进行比较.(也就是要把两个对象的值能合并到一个对象中进行比较.请问在初始化时该怎么写

【Spring】Spring高级话题-测试Spring项目

转载请注明出处:http://blog.csdn.net/qq_26525215 本文源自[大学之旅_谙忆的博客] 进行本示例的演示,需要先配置好Maven和Spring哦. 见: [Spring]基于IntelliJ IDEA搭建Maven 分析 测试是开发工作中不可缺少的部分. 单元测试只针对当前开发的类和方法进行测试,可以简单通过模拟依赖来实现,对运行环境没有依赖: 但是仅仅进行单元测试是不够的,它只能验证当前类或当前方法能否正常工作,而我们想要知道系统的各个部分组合在一起是否能正常工作,

【Spring】Spring高级话题-条件注解-@Condition

转载请注明出处:http://blog.csdn.net/qq_26525215 本文源自[大学之旅_谙忆的博客] 进行本示例的演示,需要先配置好Maven和Spring哦. 见: [Spring]基于IntelliJ IDEA搭建Maven 分析 在前面的一篇博客中:[Spring]Spring常用配置-Profile 通过profile,我们可以获得不同的profile,我们可以获得不同的Bean.Spring4提供了一个更通用的基于条件的Bean的创建,即使用@Condition注解. @

创建不用执行sudo可绿色的PostgreSQL

创建不用执行sudo可绿色的PostgreSQL 原文键接 感谢原文作者给出的精彩方法 PostgreSQL安装的时候(仅指Linux和MacOSX),往往会安装系统目录中,这样做有几点不方便. 安装多个版本的时候会冲突,尤其是想安装测试版或不同的小版本的时候. 安装路径散落在系统的好几个目录中,记起来不方便. 因为安装到了系统目录,我们有时候需要用sudo执行或者需要用su 切换到postgres用户权限下去执行. 尤其是pg的开发人员,可能需要安装不同的版本,或者要自己统计不同的时间的测试版