Java Spring框架的概述

目录
  • Spring框架概述
  • IOC容器
  • IOC概念和原理
    • 什么是IOC
    • IOC底层原理
  • IOC接口
  • IOC操作Bean管理
    • IOC操作Bean管理(xml)
      • 基于xml方式创建队形
      • 基于xml方式注入属性
  • 总结

Spring框架概述

  1. Spring是轻量级的开源的JAVAEE框架
  2. Spring可以解决企业应用开发的复杂性
  3. Spring有两个核心部分:IOC和Aop
    1. IOC:控制反转,把创建对象的过程交个Spring进行管理
    2. Aop:面向切面,不修改源代码进行功能增强
  4. Spring特点
    1. 方便解耦,简化开发
    2. Aop编程支持
    3. 方便程序测试
    4. 方便和其他框架进行整合
    5. 方便进行事务操作
    6. 降低API的使用难度

IOC容器

  1. IOC底层原理
  2. IOC接口(BeanFactory)
  3. IOC操作Bean管理(基于XML)
  4. IOC操作Bean管理(基于注解)

IOC概念和原理

什么是IOC

控制反转,把对象创建和对象之间调用过程,交给Spring进行管理

使用IOC目的:为了耦合度降低

IOC底层原理

xml解析,工厂模式,反射

IOC接口

  1. IOC思想基于IOC容器完成,IOC容器底层就是对象工厂
  2. Spring提供IOC容器实现两种方式:(两个接口)
    1. BeanFactory:

      1. IOC容器基本实现方式,是spring内部使用接口,不提供开发人员进行使用
      2. 加载配置文件不会创建对象,在获取对象才去创建对象
    2. ApplicationContext:
      1. BeanFactory接口的子接口,提供更多更强大的功能,一般是由开发人员进行使用
      2. 加载配置文件时候就会把配置文件对象进行创建
  3. 使用ApplicationContext把加载过程交给启动服务器,不要留给运行中。
  4. ApplicationContext接口有实现类

盘路径 类路径

IOC操作Bean管理

  1. 什么是Bean管理

    1. Spring创建对象
    2. Spring注入属性
  2. Bean管理操作有两种方式
    1. 基于xml配置文件方式实现
    2. 基于注解方式实现

IOC操作Bean管理(xml)

基于xml方式创建队形

  1. 在Spring配置文件中,使用bean标签,标签里面添加对应属性,就可以实现对象创建
  2. 在bean标签有很多属性,常用属性:
    1. id属性:唯一标识
    2. class属性:类全路径
  3. 创建对象时候,默认是执行无参构造

基于xml方式注入属性

  1. DI:依赖注入,注入属性

    1. 使用set方法注入
    2. 属性:类全路径
  2. 创建对象时候,默认是执行无参构造

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

时间: 2022-01-11

JAVA学习之一步步搭建spring框架

前言 作为一个服务端开发感觉一直挺排斥框架这种东西的,总觉得什么实现逻辑都帮你封装在里面了,你只需要配置这配置那个,出了问题也不知道怎么排查,之前即使写web程序也宁愿使用jetty这样的嵌入式的web server实现,自己写servlet,总感觉从main函数开始都在自己的掌控范围之内,但是这样的方式的确有点原始,也看到各种各样的开源系统使用spring实现web服务,虽然代码总是能够看明白,但是还是不晓得一步步是怎么搭建的,于是抽出一个周末折腾折腾,不搞不知道,原来这玩意能把一个不熟悉的用

Java框架---Spring详解

目录 一 技术发展 二 框架设计 Spring Framework 6大模块 三 Spring AOP详解 AOP两种方式 四 Spring Bean核心原理 Bean的加载过程 五 Spring XML配置原理 六 Spring Messaging相关技术 七 总结 一 技术发展 技术的创新和发展都是为了解决一类问题 二 框架设计 Spring Framework 6大模块 三 Spring AOP详解 循环依赖问题如何处理? 打破依赖 / 超时推出机制 AOP两种方式 字节码增强技术 四 S

Java面试题冲刺第八天--Spring框架2

目录 面试题1:聊一下你对AOP的理解吧? 追问1:Advice通知的类型有哪几种? 追问2:在同一个切面(Aspect)中,不同Advice的执行顺序 面试题2:AspectJ AOP 和 Spring AOP 有什么区别? 追问1:了解JDK动态代理和CGLIB动态代理的原理么?他俩有哪些区别? 面试题3:什么是基于Java的Spring注解配置? 给一些注解的例子 总结 面试题1:聊一下你对AOP的理解吧? AOP(Aspect Oriented Programming),面向切面思想,是

Java面试题冲刺第十八天--Spring框架3

面试题1:Bean 的加载过程是怎样的? 我们知道, Spring 的工作流主要包括以下两个环节: 解析,读 xml 配置,扫描类文件,从配置或者注解中获取 Bean 的定义信息,注册一些扩展功能. 加载,通过解析完的定义信息获取 Bean 实例. 下面是跟踪了 getBean的调用链创建的流程图,为了能够很好地理解 Bean 加载流程,省略一些异常.日志和分支处理和一些特殊条件的判断. 从上面的流程图中,可以看到一个 Bean 加载主要会经历这么几个阶段(标绿内容): 获取 BeanName,

Java面试题冲刺第七天--Spring框架1

目录 面试题1:能简单说一下你对Spring框架的理解么? 追问1:常见的Core组件有哪些? 面试题2:谈谈对Spring IOC的理解 追问1:Spring中的bean的作用域有哪些? 追问2:Spring中的bean生命周期? 追问3: Spring 中的 bean 是线程安全的吗? 面试题3:说一下 SpringMVC 运行流程? 追问1:能介绍一下SpringMVC各组件的作用么? 总结 面试题1:能简单说一下你对Spring框架的理解么? 我们一般说的Spring框架就是Spring

Java面试题及答案集锦(基础题122道,代码题19道)

Java基础面试题及答案集锦(基础题122道,代码题19道),具体详情如下所示: 1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节.抽象包括两个方面,一是过程抽象,二是数据抽象. 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法.对象的一个新类可以从现有的类中派生,这个过程称为类继承.新类继承了原始类的特性

阿里、华为、腾讯Java技术面试题精选

阿里.华为.腾讯Java技术面试题精选,具体内容如下 JVM的类加载机制是什么?有哪些实现方式? 类加载机制: 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法去内,然后在堆区创建一个java.lang.Class对象,用来封装在方法区内的数据结构.类的加载最终是在堆区内的Class对象,Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口. 类加载有三种方式: 1)命令行启动应用时候由JVM初始化加载 2)

百度Java面试题 前200页精选(下)

百度"Java面试题"前200页精选下篇 设计模式 什么是设计模式(Design Patterns)?你用过哪种设计模式?用在什么场合 你知道哪些商业级设计模式? 哪些设计模式可以增加系统的可扩展性 单例模式 除了单例模式,你在生产环境中还用过什么设计模式? 写 Singleton 单例模式 单例模式的双检锁是什么 如何创建线程安全的 Singleton 什么是类的单例模式 写出三种单例模式实现 适配器模式 适配器模式是什么?什么时候使用 适配器模式和代理模式之前有什么不同 适配器模式

2018年java技术面试题整理

1.servlet执行流程 客户端发出http请求,web服务器将请求转发到servlet容器,servlet容器解析url并根据web.xml找到相对应的servlet,并将request.response对象传递给找到的servlet,servlet根据request就可以知道是谁发出的请求,请求信息及其他信息,当servlet处理完业务逻辑后会将信息放入到response并响应到客户端. 2.springMVC的执行流程 springMVC是由dispatchservlet为核心的分层控制

七个Spring核心模块详解

Spring的七个核心模块,供大家参考,具体内容如下 1.Spring core:核心容器 核心容器提供spring框架的基本功能.Spring以bean的方式组织和管理Java应用中的各个组件及其关系.Spring使用BeanFactory来产生和管理Bean,它是工厂模式的实现.BeanFactory使用控制反转(IoC)模式将应用的配置和依赖性规范与实际的应用程序代码分开.BeanFactory使用依赖注入的方式提供给组件依赖.主要实现控制反转IoC和依赖注入DI.Bean配置以及加载.

Java面试题-实现复杂链表的复制代码分享

阿里终面在线编程题,写出来与大家分享一下 有一个单向链表,每个节点都包含一个random指针,指向本链表中的某个节点或者为空,写一个深度拷贝函数,拷贝整个链表,包括random指针.尽可能考虑可能的异常情况. 算法如下: /* public class RandomListNode { int label; RandomListNode next = null; RandomListNode random = null; RandomListNode(int label) { this.labe

深入解析Java的Spring框架中bean的依赖注入

每一个基于java的应用程序都有一个共同工作来展示给用户看到的内容作为工作的应用几个对象.当编写一个复杂的Java应用程序,应用程序类应该尽可能独立其他Java类来增加重复使用这些类,并独立于其他类别的测试它们,而这样做单元测试的可能性.依赖注入(或有时称为布线)有助于粘合这些类在一起,同时保持他们的独立. 考虑有其中有一个文本编辑器组件的应用程序,要提供拼写检查.标准的代码将看起来像这样: public class TextEditor { private SpellChecker spell

详解Spring Boot 使用Java代码创建Bean并注册到Spring中

从 Spring3.0 开始,增加了一种新的途经来配置Bean Definition,这就是通过 Java Code 配置 Bean Definition. 与Xml和Annotation两种配置方式不同点在于: 前两种Xml和Annotation的配置方式为预定义方式,即开发人员通过 XML 文件或者 Annotation 预定义配置 bean 的各种属性后,启动 spring 容器,Spring 容器会首先解析这些配置属性,生成对应都?Bean Definition,装入到 DefaultL

java面试题之try中含return语句时代码的执行顺序详解

前言 最近在刷java面试题偶然看到这类问题(try/finally中含有return时的执行顺序),觉得挺有意思于是小小的研究了一下,希望经过我添油加醋天马行空之后,能给你带来一定的帮助,下面来看看详细的介绍. 原题 try {} 里有一个return语句,那么紧跟在这个try后的finally {}里的代码会不会被执行?什么时候被执行?在return前还是后? 乍一看题目很简单嘛,java规范都说了,finally会在try代码块的return之前执行,你这文章写得没意义,不看了 你等等!(