• 什么是spring:

spring就是以IOC反转控制和AOP面向切面编程为内核,使用基本的JavaBean来完成以前由EJB完成的工作。

  • spring框架的优点:

(1)方便耦合,简化开发:spring就是一个大工厂,可以将所有创建的对象和依赖关系交给spring管理。

(2)AOP编程支持:spring提供面向切面的编程,可以方便的实现对程序进行权限拦截和运行监控等功能。

(3)声明式事务的支持:只需要配置就可以完成对事务的管理,无须手动编程。

(4)方便程序测试:spring对JUnit4支持,可以通过注解方便的测试spring程序。

(5)方便集成各种优秀框架:spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架的支持。

(6)降低JavaEE API的使用难度:spring为JavaEE中的一些API提供了封装,降低了这些API的使用难度。

  • spring的体系结构

(1)Core Container(核心容器):是其他去模块建立的基础,由Bean模块、Core核心模块、Context上下文模块、Expression Language表达式语言模块组成。

① Bean模块:提供了BeanFactory,spring将管理对象称为Bean。

② Core核心模块:提供spring框架的基本组成部分,包括IoC和DI功能。

③ Context上下文模块:建立在核心模块和Bean模块之上,是访问定义和 配置任何对象的媒介。ApplicationContext接口是上下文模块的焦点。

④ Expression Language模块:是运行时查询和操作对象图的强大的表达式 语言。

(2)Date Access/Integration(数据访问/集成):包括JDBC、ORM、OXM、JMS和Transaction模块。

① JDBC模块:提供了一个JDBC抽象层,减少了开发过程中对数据库操作 的代码。

② ORM模块:对流行的对象关系映射API包括JPA、Hibernate等提供的集 成层。

③ Transaction事务模块:支持编程和声明式事务管理实现特殊接口类,并 对所有的POJO都适用。

(3)Web模块:包括web、servlet、struts和portlet组件。

① Web模块:提供了基本的web开发集成特性,例如:多文件上传功能、 使用的servlet 监听器的IoC容器初始化以及web应用上下文。

② Servlet模块:包括spring模型—视图—控制器(MVC)实现web应用 程序。

③ Struts模块:包括支持类内的spring应用程序,集成了经典的struts web 层。

(4)其他层:包括AOP、Aspects、Instrumentation以及Test模块。

① AOP模块:提供面向切面的编程,允许定义方法拦截器和切入点,将代 码按照功能分离,降低耦合性。

② Test测试模块:支持_spring_组件,使用_JUnit_测试。

spring基本知识的更多相关文章

  1. Spring基础知识

    Spring基础知识 利用spring完成松耦合 接口 public interface IOutputGenerator { public void generateOutput(); } 实现类 ...

  2. Spring零碎知识复习

    自学了Spring也有一段时间了,多多少少掌握了一些Spring的知识,现在手上也没有很多的项目练手,就将就着把这些学到的东西先收集起来,方便日后用到的时候没地方找. 1.spring的国际化 主要是 ...

  3. Spring Ioc知识整理

    Ioc知识整理(一): IoC (Inversion of Control) 控制反转. 1.bean的别名 我们每个bean元素都有一个id属性,用于唯一标识实例化的一个类,其实name属性也可用来 ...

  4. 通俗化理解Spring3 IoC的原理和主要组件(spring系列知识二总结)

    ♣什么是IoC? ♣通俗化理解IoC原理 ♣IoC好处 ♣工厂模式 ♣IoC的主要组件 ♣IoC的应用实例 ♣附:实例代码 1.什么是IoC(控制反转)? Spring3框架的核心是实现控制反转(Io ...

  5. Spring Boot 知识图谱

    最近有意重新学习下SpringBoot知识,特地总结了SpringBoot的知识点,对于想要学习的人来说,够用. SpringBoot学习路径 第一部分:了解 Spring Boot Spring B ...

  6. 浅谈Spring MVC知识

    关于MVC框架,我相信大家都不陌生,都会说也就是模型-视图-控制器这三层的框架结构,如果你参加面试的时候考官会问:“MVC框架是什么?你说一说.”其实我们都知道这个问题还需要问的,只要你是一个开发人员 ...

  7. 程序员必看:给你一份详细的Spring Boot知识清单

    在过去两三年的Spring生态圈,最让人兴奋的莫过于Spring Boot框架.或许从命名上就能看出这个框架的设计初衷:快速的启动Spring应用.因而Spring Boot应用本质上就是一个基于Sp ...

  8. spring远程服务知识梳理

    序:本文主要是总结和归纳spring的远程服务相关知识,可作为入门学习笔记.写博客目的也是为了进行知识梳理,便于以后查看.本文主要参考资料 spring 实战第三版 本文主要讨论内容如下: 远程调度概 ...

  9. spring 基础知识复习

    spring是一个分层架构,由 7 个定义良好的模块组成.Spring 模块构建在核心容器之上,核心容器定义了创建.配置和管理 bean 的方式. 组成spring框架的每个模块(或组件)都可单独存在 ...

  10. Spring IOC知识java反射

    [1] Java反射知识-->Spring IoC :http://www.iteye.com/topic/1123081 [2] Java动态代理-->Spring AOP :http: ...

随机推荐

  1. ubuntu---网络管理

    网络配置文件 在 /etc/network/interface auto eth0 iface eth0 inet static address x.x.x.x netmask 255.255.255 ...

  2. Spring Boot 2.0 教程 | AOP 切面统一打印请求日志

    欢迎关注微信公众号: 小哈学Java 文章首发于个人网站 https://www.exception.site/springboot/spring-boot-aop-web-request 本节中,您 ...

  3. Zabbix4.0.3解决中文乱码

    字体下载地址:https://github.com/hejianlai/Zabbix/raw/master/font/msyh.ttf放到以下目录,可能你的路径和我的不一样用find查出来cd /us ...

  4. 说一说MVC的Authentication过滤(四)

    前沿: 一般情况下,在我们做访问权限管理的时候,会把用户的正确登录后的基本信息保存在Session中,以后用户每次请求页面或接口数据的时候,拿到 Session中存储的用户基本信息,查看比较他有没有登 ...

  5. npm 包的 发布 流程

    npm 包的发布流程 本文主要是针对 还未曾发布过自己的 npm 的同学,阐述一下 npm 的发布流程 熟悉的同学,可以绕道了. 首先你得有一个 自己的 npmjs.com 的账号 (没有的话,就到 ...

  6. CardView卡片式布局

    CardView适用于实现卡片式布局效果的重要控件,由appcompat-v7库提供,实际上CardView也是一个FrameLayout,只是额外提供了圆角和阴影效果,看上去有立体的感觉.一般Car ...

  7. nginx~为docker容器添加负载均衡

    Nginx作为当前最流行的负载均衡和反向代理服务器,它运行在linux平台,一般的.net网站,为了实现分流与负载,需要在多个应用服务器的IIS上部署,通过一些工具实现代码的同步,然后再nginx上去 ...

  8. 不在models.py中的models

    概述 如何让你定义的model不在models.py中 在app的models目录中的models 你新建一个app后这个models.py就会自动建立,里面只有几行代码.那么如果是一个中大型项目,每 ...

  9. SpringBoot整合系列-整合H2

    原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/9959855.html SpringBoot整合H2内存数据库 一般我们在测试的时候习惯于 ...

  10. static 静态与非静态的区别

    静态属性是共享一块内存空间.实例的是各自独享一块内存空间. 比如同一个name属性.如果是实例成员.那么你每创建了一个对象.赋给name值.假如创建了2个对象.第一个赋值张三.第2个赋值李四.它们就分 ...