了解spring
一、spring简介
Spring是一个JavaEE轻量级的一站式的开发框架(spring的可插拔特性,企业用于整合其他框架)
轻量级:使用最少的代码启动程序,根据所需选择功能选择模块使用
一站式:提供了表示层,服务层,持久层的所有支持(功能齐全)
二、spring框架的优点
优秀的架构标准:
1.可维护性好 -->让程序模块化,不同模块实现不同功能
2.可扩展性好 -->对拓展开放,对修改关闭(开闭原则),解决新代码对旧代码污染,需要对旧代码重新测试的问题
3.性能好 -->算法决定
如何实现可维护性好,可拓展性好:高内聚,低耦合
高内聚:将逻辑相同的代码聚合在一起
低耦合:减少类与类之间的直接关系
Spring框架,通过IOC(INversion of Control,控制反转)实现程序的解耦,提高程序的扩展性
三、spring包
| aop | 实现AOP的支持 |
| Aspects | AOP框架aspects支持包 |
| beans | 内核支撑包,实现了处理基于xml对象存取 |
| context | 内核支撑包,实现了spring对象容器 |
| context-support | 容器操作扩展包,扩展了一些常用的容器对象的设置功能 |
| core | 内核支撑包,spring的内核 |
| expression | 内核支撑包,实现了xml对spring表达式的支持 |
| instrument | 提供了一些类加载的工具类 |
| instrument-tomcat | 提供了一些tomcat类加载的工具类,实现对Tomcat服务的调用 |
| jdbc | springJDBC实现包,一个操作数据库持久层的子框架 |
| jms | 集成jms的实现包,jms:Java消息服务 |
| messaging | 集成messaging api和消息协议提供支持 |
| orm | ORM框架集成包,实现了Hibernate,IBatis,JDO的集成 |
| oxm | springOXM对主流O/XMapping框架做了一个统一的抽象和封装,(XML读写框架的支持) |
| test | spring集成JUnit测试 |
| tx | 事务代理的支持 |
| web | springweb通用模块 |
| webmvc | springMVC子框架 |
| websocket | spring对websocket的支持 |
了解spring的更多相关文章
- 基于spring注解AOP的异常处理
一.前言 项目刚刚开发的时候,并没有做好充足的准备.开发到一定程度的时候才会想到还有一些问题没有解决.就比如今天我要说的一个问题:异常的处理.写程序的时候一般都会通过try...catch...fin ...
- 玩转spring boot——快速开始
开发环境: IED环境:Eclipse JDK版本:1.8 maven版本:3.3.9 一.创建一个spring boot的mcv web应用程序 打开Eclipse,新建Maven项目 选择quic ...
- Spring基于AOP的事务管理
Spring基于AOP的事务管理 事务 事务是一系列动作,这一系列动作综合在一起组成一个完整的工作单元,如果有任何一个动作执行失败,那么事务 ...
- [Spring]IoC容器之进击的注解
先啰嗦两句: 第一次在博客园使用markdown编辑,感觉渲染样式差强人意,还是github的样式比较顺眼. 概述 Spring2.5 引入了注解. 于是,一个问题产生了:使用注解方式注入 JavaB ...
- 学习AOP之透过Spring的Ioc理解Advisor
花了几天时间来学习Spring,突然明白一个问题,就是看书不能让人理解Spring,一方面要结合使用场景,另一方面要阅读源代码,这种方式理解起来事半功倍.那看书有什么用呢?主要还是扩展视野,毕竟书是别 ...
- 学习AOP之深入一点Spring Aop
上一篇<学习AOP之认识一下SpringAOP>中大体的了解了代理.动态代理及SpringAop的知识.因为写的篇幅长了点所以还是再写一篇吧.接下来开始深入一点Spring aop的一些实 ...
- 学习AOP之认识一下Spring AOP
心碎之事 要说知道AOP这个词倒是很久很久以前了,但是直到今天我也不敢说非常的理解它,其中的各种概念即抽象又太拗口. 在几次面试中都被问及AOP,但是真的没有答上来,或者都在面上,这给面试官的感觉就是 ...
- 为什么做java的web开发我们会使用struts2,springMVC和spring这样的框架?
今年我一直在思考web开发里的前后端分离的问题,到了现在也颇有点心得了,随着这个问题的深入,再加以现在公司很多web项目的控制层的技术框架由struts2迁移到springMVC,我突然有了一个新的疑 ...
- Spring之旅(2)
Spring简化Java的下一个理念:基于切面的声明式编程 3.应用切面 依赖注入的目的是让相互协作的组件保持松散耦合:而AOP编程允许你把遍布应用各处的功能分离出来形成可重用的组件. AOP面向切面 ...
- Spring之旅
Java使得以模块化构建复杂应用系统成为可能,它为Applet而来,但为组件化而留. Spring是一个开源的框架,最早由Rod Johnson创建.Spring是为了解决企业级应用开发的复杂性而创建 ...
随机推荐
- Android 两种方式实现类似水波扩散效果
原文链接 https://mp.weixin.qq.com/s/M19tp_ShOO6esKdozi7Nlg 两种方式实现类似水波扩散效果,先上图为敬 自定义view实现 动画实现 自定义view实现 ...
- MIP技术交流分享(3月9日)
3月9日上周四下午,MIP 团队工程师与去哪儿酒店云.众荟的 Web 前端工程师进行了一次面对面的技术交流. 在这次交流中,MIP 工程师主要分享了 MIP 技术原理,MIP 加速原理,以及 MIP ...
- mybatis入门系列三之类型转换器
mybatis入门系列三之类型转换器 类型转换器介绍 mybatis作为一个ORM框架,要求java中的对象与数据库中的表记录应该对应 因此java类名-数据库表名,java类属性名-数据库表字段名, ...
- 【重学计算机】操作系统D6章:并发程序设计
1. 并发程序的基本概念 程序顺序性 内部顺序性:CPU严格按照顺序执行指令 外部顺序性:程序员设计程序时往往用顺序设计的思想 顺序程序特性 程序执行的顺序性 计算环境的封闭性: 程序执行时犹如独占资 ...
- Java代码规范与质量检测插件SonarLint
1. SonarLint SonarLint是一个代码质量检测插件,可以帮助我们检测出代码中的坏味道 下载与安装 在需要检测的单个文件或者单个项目上右键 --> Analyze --> ...
- Docker最全教程之使用Docker搭建Java开发环境(十七)
前言 Java是一门面向对象的优秀编程语言,市场占有率极高,但是在容器化实践过程中,发现官方支持并不友好,同时与其他编程语言的基础镜像相比(具体见各语言镜像比较),确实是非常臃肿. 本篇仅作探索,希望 ...
- DateTime Tips
DateTime Tips(System.Runtime Version=4.2.1.0) 抛砖引玉,如有错误或是更好的方式还望不吝赐教 1. 根据某个DateTime对象取其当天的起始时间例如:输入 ...
- 《ASP.NET MVC 5 高级编程》学习笔记
前言: 记得当初培训的时候,学习的还是ASP.NET,现在回想一下,图片水印.统计人数.过滤器....HttpHandler是多么的经典! 不过后来接触到了MVC,便立马爱上了它.Model-View ...
- Android远程桌面助手(B1413)
ARDC(B1413) 1.解决Android9显示黑屏问题;2.解决向导菜单显示异常问题;3.解决部分手机无法正常连接的问题;4.切换到WiFi连接时,增加显示NetworkID;5.更新图片压缩的 ...
- nginx之location配置详解及案例
语法规则: location [=|~|~*|^~] /uri/ { … } = 开头表示精确匹配 ^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可.nginx不对url做编码, ...