
Spring学习
文章平均质量分 88
以Spring实战书籍为线索,源码级深入理解Spring框架
程序员小牧之
汲取,分享与成长,我们唯一能做的就是坚持。
展开
-
3.如何实现AOP?(静态代理,Jdk动态代理,cglib动态代理,自定义动态代理)
以静态代理学习,JDK动态代理和CGLIB动态代理机制为引子,采用源代码代码生成的方式实现自己的动态代理技术支持框架学习Demo原创 2022-05-18 08:50:39 · 1156 阅读 · 0 评论 -
2.IOC设计理念(理解控制反转,实现IOC容器实例,Spring中对IOC的支持)
本博客解释了什么是控制反转,并且以一个实际的例子来实现了一个简单的IOC容器并提供测试案例,且介绍了在Spring中如何使用其提供的IOC容器进行编程。原创 2022-05-11 21:46:13 · 917 阅读 · 0 评论 -
1.Spring设计理念(最小侵入式,依赖注入,切面)
本篇博客用实际的例子以通俗易懂的形式解释了什么是侵入式编程,什么是非侵入式编程,什么是依赖注入,以及我们为什么需要面向切面编程。原创 2022-05-11 02:30:00 · 1328 阅读 · 0 评论 -
SpringMVC工作过程学习
SpringMVC基于模型-视图-控制器实现。它能帮我们构建像Spring框架那样灵活的松耦合的web应用程序。一.了解Spring MVC的请求过程:1)请求会带有用户的所有请求内容的信息(请求的URL,表单信息等)发送到我们的前端控制器DispatcherServlet中。2)然后前端控制器到处理器映射中查询请求信息中的URL对应那个控制器。3)然后将请求信息转发到指定的控制器中。4)控制器会处理信息然后将处理后的信息打包成模型然后将模型信息和视图名发送到前端控制器。5)前端控制器在视原创 2020-06-01 17:09:27 · 222 阅读 · 0 评论 -
eclipse中完成SpringMVC的第一个程序
一.首先,在eclipse中创建一个web项目二.然后导入Springweb的依赖包:三.在web中配置我们的前端控制器<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com原创 2020-06-01 16:21:46 · 357 阅读 · 3 评论 -
Spring依赖解析过程和重写bean定义
一.依赖解析过程Spring容器的启动过程可分为两个阶段:第一阶段:容器处理配置元数据并建立元数据中存在的Bean定义,容器还会对这些Bean定义验证是否正确。注意:这一阶段Bean并没有被创建,相关的属性也没有被注入。第二阶段:首先容器完成对Bean的创建,然后完成注入工作。 但实际上并不是所有的Bean都被创建。 我们知道,一些Bean的创建实际上触发了一连串其他依赖Bean的创建,而这些依赖Bean又会触发它们的依赖性的创建,以此类推。注意:一个Bean在完全被创建且自己的依赖性被注入之前是原创 2020-05-24 17:22:12 · 993 阅读 · 0 评论 -
面向切面Spring学习之使用注解创建切面
一.定义切面1.在Spring中使用注解定义切面,我们会用到下面的注解:注解通知@Aspect它标识一个类是一个切面@After它标识的通知方法会在目标方法返回或抛出异常后调用@AfterReturning它标识的通知方法会在目标方法返回后调用@AfterThrowing它标识的通知方法会在目标方法抛出异常后调用@Around通知方法会将目标方法封装起来@Before通知方法会在目标方法调用之前执行我们知道切面由切点和通知构成。(切点定原创 2020-05-30 15:40:33 · 3378 阅读 · 0 评论 -
Spring依赖注入理论学习和AOP理论
学习自《Spring实战》一.Spring的意义以及基本策略创建Spring的主要目的是:替代重量级的企业级java技术,简化Java的开发过程。许多框架只能在某些方面做简化,但Spring的目的是全方位的简化,为了实现这个目标,Spring采取了下面4种简化策略:1.基于POJO(JavaBean)的轻量级和最小侵入式编程。2.通过依赖注入和面向接口实现松耦合(易于进行单元测试)。3.通过切面和惯例进行声明式编程。4.通过切面和模板减少样板式代码。Spring做的任何一件事都可以用上面四原创 2020-05-21 09:38:21 · 278 阅读 · 0 评论 -
面向切面的Spring学习一
一.基本介绍在软件开发中,散布于应用中多处的功能被称为横切关注点(crosscutting concern)。我们把这些横切关注点与业务逻辑相分离的编程过程称之为面向切面编程(AOP)。在前面我们学习了依赖注入的目的是实现应用对象的解耦,同样,AOP的目的也是实现横切关注点和它们所影响的对象之间的解耦,来方便我们的开发过程。二.什么是面向切面编程(AOP)?一.什么是切面?面向编程时,我们仍然在一个地方定义通用功能,但可以通过声明的方式定义这个功能以何种方式在何处应用而无需修改受影响的类。也就是原创 2020-05-28 10:35:07 · 279 阅读 · 0 评论 -
Spring是如何实现依赖注入的
一.Spring IOC容器IOC是控制反转的意思,就是和传统的对象调用另一个不同,IOC容器会根据你的需求分配你需要的对象。例如,一个订单管理组件需要信用卡的认证组件,但他不需要自己创建信用卡认证组件的实例,它只需表明自己没有它,容器就会主动赋予它一个信用卡认证组件。Spring Application Framework的核心就是其IOC容器,该容器的工作包括对应用程序的对象(Bean)的实例化,初始化,装配以及在对象的整个生命周期中提供其他的Spring功能。二.使用基于XML的配置创建和使用S原创 2020-05-22 11:55:12 · 4672 阅读 · 1 评论 -
Spring的Bean学习
一.在Spring中什么是Bean?简单来说,被Spring创建和管理的Java对象被称为Bean,这些对象都是POJO.二.命名Bean1.Bean通过名称进行区分。每一个Bean至少有一个名称,如果开发人员没有为其命名,Spring容器将会为其分配一个内部名称。通过Bean的名称我们可以从其他Bean定义中或者利用显式查找从应用程序代码中引用Bean。在基于XML的配置中,我们可以使用id特性将一个名称分配给一个Bean唯一标识这个Bean。2.如果想在Bean定义中为其分配多个名称,我们可原创 2020-05-26 18:47:23 · 333 阅读 · 0 评论