• 什么是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. php 168任意代码执行漏洞之php的Complex (curly) syntax

    今天了解了php 168的任意代码执行漏洞,Poc: http://192.168.6.128/pentest/cms/php168/member/post.php?only=1&showHt ...

  2. Android device debug (adb) by Charge Only mode

    Android device debug by Charge Only mode Method 1 Connect devices to computer and execute lsusb Find ...

  3. MySQL casting from decimal to string(mysql decimal 转 varchar)

    今天群里一个哥们问我mysql怎么将decimal转成varchar,经过查阅资料发现,mysql好像不能将decimal直接转换成varchar,但是可以转成char,原文链接:http://sta ...

  4. Gin框架源码解析

    Gin框架源码解析 Gin框架是golang的一个常用的web框架,最近一个项目中需要使用到它,所以对这个框架进行了学习.gin包非常短小精悍,不过主要包含的路由,中间件,日志都有了.我们可以追着代码 ...

  5. JAVA日志的前世今生

    这世界上很多事情,看起来就像彩虹一样炫目而神奇,实际上背后蕴含着随处可见的原理.就好像静儿几年前买过一件超贵的防辐射服,当时销售人员把手机严严实实的包在防辐射服里,然后让我打电话测试,果然没有信号. ...

  6. 一个类是怎么被JVM执行的

    现有如下代码,那么我们的JVM是怎么执行的呢 public class Test{ public static vodi main(String[] args){ MaYun my=new MaYun ...

  7. Jenkins自定义主题

    x下载自定义样式 http://afonsof.com/jenkins-material-theme/ 打开连接 最后点击:DOWNLOAD TOUR THEME! 得到样式文件:jenkins-ma ...

  8. leetcode — unique-binary-search-trees-ii

    ``` import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; import java.util ...

  9. linux下(fdisk,gdisk,parted)三种分区工具比较

    1 2种分区结构简介 MBR分区 硬盘主引导记录MBR由4个部分组成 主引导程序(偏移地址0000H--0088H),它负责从活动分区中装载,并运行系统引导程序. 出错信息数据区,偏移地址0089H- ...

  10. SpringCloud应对高并发的思路

    一.Eureka的高可用性 Eureka下面的服务实例默认每隔30秒会发送一个HTTP心跳给Eureka,来告诉Eureka服务还活着,每个服务实例每隔30秒也会通过HTTP请求向Eureka获取服务 ...