01-spring框架——spring概述
Spring 是于 2003 年兴起的一个轻量级的 Java 开发框架,它是为了解决企业应用开发
的复杂性而创建的。Spring 的核心是控制反转(IoC)和面向切面编程(AOP)。Spring 是可
以在 Java SE/EE 中使用的轻量级开源框架。
Spring 的主要作用就是为代码“解耦”,降低代码间的耦合度。就是让对象和对象(模
块和模块)之间关系不是使用代码关联,而是通过配置来说明。即在 Spring 中说明对象(模
块)的关系。
Spring 根据代码的功能特点,使用 Ioc 降低业务对象之间耦合度。IoC 使得主业务在相互
调用过程中,不用再自己维护关系了,即不用再自己创建要使用的对象了。而是由 Spring
容器统一管理,自动“注入”,注入即赋值。 而 AOP 使得系统级服务得到了最大复用,且
不用再由程序员手工将系统级服务“混杂”到主业务逻辑中了,而是由 Spring 容器统一完成
“织入”。
官网:https://spring.io/
下载的 spring 资源内容:
docs——文档
libs——jar包
schema——约束文件(xsd)
libs 目录的内容:
spring-aop-4.3.16.RELEASE.jar ——class字字节码类文件,卡法用的jar
spring-aop-4.3.16.RELEASE-javadoc.jar——文档内容
spring-aop-4.3.16.RELEASE-sources.jar——java源代码文件
\spring-framework-4.3.16.RELEASE\schema\beans spring各版本的约束文件,扩展名是xsd,当前目录是beans约束文件
spring-beans-4.3.xsd——和当前spring相同版本的约束文件
1.2 Spring 优点?
Spring 是一个框架,是一个半成品的软件。有 20 个模块组成。它是一个容器管理对象,
容器是装东西的,Spring 容器不装文本,数字。装的是对象。Spring 是存储对象的容器。
(1 ) 轻量
Spring 框架使用的 jar 都比较小,一般在 1M 以下或者几百 kb。Spring 核心功能的所需
的 jar 总共在 3M 左右。
Spring 框架运行占用的资源少,运行效率高。不依赖其他 jar
(2 ) 针对接口编程,解耦合
Spring 提供了 Ioc 控制反转,由容器管理对象,对象的依赖关系。原来在程序代码中的
对象创建方式,现在由容器完成。对象之间的依赖解耦合。
(3 ) AOP
通过 Spring 提供的 AOP 功能,方便进行面向切面的编程,许多不容易用传统 OOP 实现
的功能可以通过 AOP 轻松应付
在 Spring 中,开发人员可以从繁杂的事务管理代码中解脱出来,通过声明式方式灵活地
进行事务的管理,提高开发效率和质量。
(4) 方便集成各种优秀框架
Spring 不排斥各种优秀的开源框架,相反 Spring 可以降低各种框架的使用难度,Spring
提供了对各种优秀框架(如 Struts,Hibernate、MyBatis)等的直接支持。简化框架的使用。
Spring 像插线板一样,其他框架是插头,可以容易的组合到一起。需要使用哪个框架,就把
这个插头放入插线板。不需要可以轻易的移除。
1.3 Spring
Spring 由 20 多个模块组成,它们可以分为数据访问/集成(Data Access/Integration)、
Web、面向切面编程(AOP, Aspects)、提供JVM的代理(Instrumentation)、消息发送(Messaging)、
核心容器(Core Container)和测试(Test)。
01-spring框架——spring概述的更多相关文章
- spring框架的概述与入门
1. Spring框架的概述 * Spring是一个开源框架 * Spring是于2003 年兴起的一个轻量级的Java开发框架,由Rod Johnson在其著作Expert One-On-One J ...
- Spring 框架的概述以及Spring中基于XML的IOC配置
Spring 框架的概述以及Spring中基于XML的IOC配置 一.简介 Spring的两大核心:IOC(DI)与AOP,IOC是反转控制,DI依赖注入 特点:轻量级.依赖注入.面向切面编程.容器. ...
- [Spring框架]Spring AOP基础入门总结二:Spring基于AspectJ的AOP的开发.
前言: 在上一篇中: [Spring框架]Spring AOP基础入门总结一. 中 我们已经知道了一个Spring AOP程序是如何开发的, 在这里呢我们将基于AspectJ来进行AOP 的总结和学习 ...
- 跟着刚哥学习Spring框架--Spring容器(二)
Spring容器 启动Spring容器(实例化容器) -- IOC容器读取Bean配置创建Bean实例之前,必须对它进行实例化(加载启动),这样才可以从容器中获取Bean的实例并使用. Bean是S ...
- Spring框架 - Spring和Spring框架组成
Spring框架 - Spring和Spring框架组成 Spring是什么?它是怎么诞生的?有哪些主要的组件和核心功能呢? 本文通过这几个问题帮助你构筑Spring和Spring Framework ...
- [Spring框架]Spring开发实例: XML+注解.
前言: 本文为自己学习Spring记录所用, 文章内容包括Spring的概述已经简单开发, 主要涉及IOC相关知识, 希望能够对新入门Spring的同学有帮助, 也希望大家一起讨论相关的知识. 一. ...
- [Spring框架]Spring AOP基础入门总结一.
前言:前面已经有两篇文章讲了Spring IOC/DI 以及 使用xml和注解两种方法开发的案例, 下面就来梳理一下Spring的另一核心AOP. 一, 什么是AOP 在软件业,AOP为Aspect ...
- [Spring框架]Spring IOC的原理及详解。
这里感谢 CSDN 的原博客:http://blog.csdn.net/m13666368773/article/details/7802126 看后 受益匪浅,这里再重温一遍Spring IOC ...
- Spring框架---Spring入门
Spring入门 为了能更好的理解先讲一些有的没的的东西: 什么是Spring Spring是分层的JavaSE/EE full-stack(一站式) 轻量级开源框架 分层 SUN提供的EE的三层结构 ...
- JavaWeb_(Spring框架)Spring中IoC与DI概念入门
Spring是于2003 年兴起的一个轻量级的Java 开源框架,它由Rod Johnson创建.传统J2EE应用的开发效率低,Spring作为开源的中间件,提供J2EE应用的各层的解决方案,Spri ...
随机推荐
- android开发过程报错
Unable to start activity ComponentInfo{com.example.zxy.myapp/com.example.zxy.myapp.MainActivity}: an ...
- 安德鲁1.2Ku使用感受
看中玻璃钢天线了,华达太贵,安德鲁性价比比较高.就在上周,决定入一个试试.周二微信转账,380+120运费,安能物流送货上门,上周6中午午睡时接到电话.去广场拿货. 锅面包装很简单,纸壳与胶带简单粗暴 ...
- 自由度为n的卡方分布χ²(n)的期望等于n、方差等于2n的证明
出自:http://blog.sina.com.cn/s/blog_4cb6ee6c0102xh17.html
- padding的计算方法
转自https://blog.csdn.net/qq_34599526/article/details/83755275 VALID:如果卷积核超出特征层,就不再就计算,即卷积核右边界不超出Featu ...
- 生成iOS-Xcode技术文档
从源码中抽取注释生成文档的专用工具: [doxygen](http://www.stack.nl/~dimitri/doxygen/index.html):适于生成html文档与pdf文档. 支持的语 ...
- docker笔记、常遇问题、常用命令
启动一个容器并且进到里面,退出后,容器结束 [root@bogon ~]# docker run --name mynginx -it nginx 启动一个容器,退出后自动删除 [root@bogon ...
- redis的坑
1.外网无法连接redis 解决方法: 把redis.conf里的bind 127.0.0.1注释掉,不行的话把127.0.0.1修改成0.0.0.0 2.make的时候显示没有gcc 解决方法: 安 ...
- html to pdf 把HTML转换为PDF
http://www.evopdf.com/userguide/userguide.htm
- 第一个python-ui界面
首先是安装eric6简直是个灾难,先是找不到汉化版的eric6,好不容易找到了,一打开eric6的窗体就说designer.exe不存在,确实在PyQt5里没有,明明在PyQt5-tools里面有,最 ...
- Go package(2) strings 用法
go version go1.10.3 Go中的字符串用法,可以在 godoc.org 上查看语法和用法. 最简单的语法就是获取字符串中的子串 s := "hello world" ...