Spring学习-1-Spring容器

2023-11-08

了解Spring

Spring是分层的JavaSE/EE full-stack 轻量级开源框架,以IoC(Inverse of Control 控制反转)和AOP(Aspect Oriented Programming 面向切面编程)为内核,
使用基本的JavaBean来完成以前只可能由EJB完成的工作,取代了EJB的臃肿、低效的开发模式。

Spring优点


1:支持AOP
2:支持声明式事务处理
3:方便解耦、简化开发
4:方便集成各种优秀框架
5:方便程序测试

Spring核心容器


Spring容器会负责控制程序之间的关系,而不是由程序代码直接控制。Spring为我们提供了两种核心容器,分别为BeanFactory和ApplicationContext
创建BeanFactory实例时,需要提供Spring所管理容器的详细配置信息,这些信息通常采用XML文件形式来管理,其加载配置信息的语法如下:

BeanFactory beanFactory = new XmlBeanFactory(new FileSystemResource("applicationContext.xml"));

ApplicationContext是BeanFactory的子接口,是另一种常用的Spring核心容器。它由org.springframework.context.ApplicationContext接口定义,
不仅包含了BeanFactory的所有功能,还添加了对国际化、资源访问、事件传播等方面的支持。创建ApplicationContext接口实例,通常采用两种方法:
通过ClassPathXmlApplicationContext创建  

ApplicationContext applicationContext = new ClassPathXmlApplicationContext(String configLocation);

ClassPathXmlApplicationContext会从类路径classPath中寻找指定的XML配置文件,找到并装载完成ApplicationContext的实例化工作

通过FileSystemXmlApplicationContext创建      

ApplicationContext applicationContext = new FileSystemXmlApplicationContext(String configLocation)

FileSystemXmlApplicationContext会从指定的文件系统路径(绝对路径)中寻找指定的XML配置文件,找到并装载完成ApplicationContext的实例化工作。


在Java项目中,会通过ClassPathXmlApplicationContext类来实例化ApplicationContext容器。而在Web项目中,ApplicationContext容器的实例化工作会交由Web服务器来完成。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring学习-1-Spring容器 的相关文章

随机推荐

  • 大数据治理——《华为数据之道》

    重点章节 1 差异化的数据分类管理 第二章 信息架构 第三章 数据底座 第三章 次重点 2 数据服务 第四章 数据质量 第五章 数据安全与隐私 第六章 其他 3 数据感知 第五章 数据综合治理体系 第二章 企业数字化转型 第三章 重要概念和
  • 【自用】西门子s7-200连接显示屏和物联网盒子完整配置过程

    总览 1 PLC配置 2 显示屏配置 3 物联网盒子配置 一 PLC配置 1 连接PLC软件 STEP 7MicroWIN V4 0 SP9完整版 链接 https pan baidu com s 17LMEXnbkQZMPI8Bte24E
  • 使用单片机控制600W升压模块输出电压

    要想用单片机控制升降压模块的输出电压 首先想到的就是使用电信号控制FB电阻大小 原理上数字电位器可以满足这个需求 那么问题就在于 如何评估数字电位器大小 如何知道FB电阻和输出电压的关系 如果是集成DCDC变换器模块比较简单 一块板上没几个
  • QT 消息对话框按钮显示

    前言 搞QT嘛 大多数都是军工 都要国产化 而且消息对话框的按钮的英文也不是很得劲 所以需要汉化 使用静态函数的按钮就是显示英文 汉化的代码如下 void Widget on pushButton clicked QMessageBox b
  • python selenium 获取frame中的元素

    版权声明 本文为徐代龙原创文章 未经徐代龙允许不得转载 https blog csdn net xudailong blog 使用情景 在很多的视频播放网站 视频播放页面往往获取不到iframe里面的内容 也或者是模拟登陆的时候 会跳入一个
  • 标量、向量、矩阵之间求导笔记

    2019 12 06 今天 碰到了下面有关向量对于向量的导数 不太明白为什么最后得到的是A的转置 d A x
  • 区块链Fabric 排序、二次开发

    1 排序 Orderer 排序 Orderer 指对区块链网络中不同通道产生的交易进行排序 并广播给节点 Peer 排序 Orderer 是以可插拔组件的方式实现 目前分为SOLO和Kafka两种类型 SOLO 仅有一个Orderer服务节
  • React 状态管理器,我是这样选的

    前言 我们的前端团队在一直深度使用 React 从最早的 CRA 到后来切换到 umijs 从 1 x 2 x 3 x 再到现在的 4 x 其中有一点不变的 就是我们一直在使用基于 react redux 思想的 dva 作为状态管理工具
  • React hooks 不能拿到最新的的setState的值

    在class中 如果 我们想要拿到setState 最新的值 去调用api 直接通过this setState的回调函数就可以了 this setState latestValue 我是最新的 gt this callApi latestV
  • Koa项目搭建----从零搭建Koa项目

    最近发现使用 Koa 创建项目的博客比较多 但是不够细致 为方便自己和他人 遂整理本博客 本博客会介绍以下内容 1 安装Koa脚手架 即 koa generator 2 创建 Koa 1 项目 3 创建 Koa 2 项目 4 坑 5 项目运
  • 基于TypeScript的PixiJS开发环境设置(webpack篇)

    转自 http www limbonova com 2017 09 setup pixijs with typescript using webpack 前几天写了一篇用Browserify打包的 PixiJS 的开发环境配置流程 但是We
  • 一个项目所需要的各个模块以及它们对应的功能

    首先你要知道 一个项目它的目的是什么 一个项目最终要达到一个什么效果 其实说白了 一个项目实现的最终结果就是实现对数据库的增删查改 然后返回最终的视图或者数据给前端 这就是一个项目的目的 这也是最简单的说法 那要实现这个从数据库当中的增删查
  • CSP201312-1 出现次数最多的数

    include
  • Java性能优化常用命令及工具简介

    Java性能优化常用命令及工具简介 简述 1 多线程或边界情况等引起的异常 2 内存异常 3 CPU问题 总结 简述 开发中可能都会碰到程序运行越来越慢 占用内存和cpu越来越高 那如何定位问题呢 我们将问题简单分类为三个常见的场景 1 多
  • 通配符与正则表达式

    一 通配符与正则表达式的区别 通配符用来匹配文件名 正则表达式用来匹配文本 二 通配符 Shell命令中通常用通配符做文件名字或则目录名的模糊查找 2 1 表示匹配任意长度的字符 eg 在终端中输入命令 ls txt 则会显示当前路径下所有
  • c语言前置 和后置 是啥运算符,(转)前置++跟后置++的区别

    转 前置 和后置 的区别 今天在阅读 google c 编程风格 的文档的时候 5 10 前置自增和自减 有一句话引起了我的注意 对于迭代器和其他模板对象使用前缀形式 i 的自增 自减运算符 理由是 前置自增 i 通常要比后置自增 i 效率
  • jQuery简单的快速入门

    内容目录 jQuery 入门 什么是jQuery 如何使用jQuery jQuery的运行原理 如何选择jQuery版本 ready 准备就绪时执行代码 jQuery 核心 选取元素 使用jQuery 选择器选取元素 并封装为jQuery对
  • 浅谈require和import

    最近在学习webpack时候 教程上用到的是require 但是之前我写代码用的Import比较多 所以借这个机会来学习一下 node编程中最重要的思想就是模块化 import和require都是被模块化所使用 遵循规范 require 是
  • org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException异常处理

    在hbase写入数据时 出现下列异常 org apache hadoop hbase client RetriesExhaustedWithDetailsException Failed 3465 actions servers with
  • Spring学习-1-Spring容器

    了解Spring Spring是分层的JavaSE EE full stack 轻量级开源框架 以IoC Inverse of Control 控制反转 和AOP Aspect Oriented Programming 面向切面编程 为内核