(1)Spring学习——Spring简述

1.什么是Spring

  1. Spring 是一个轻量级的 DI / IoC 和 AOP 容器的开源框架,基于 Sprin 可以解决 Java EE 开发的所有问题
  2. Spring 提倡以 “最少侵入” 的方式来管理应用中的代码,这意味着我们可以随时安装或者卸载 Spring

2.Spring 的优势

  • 低侵入 / 低耦合 (降低组件之间的耦合度,实现软件各层之间的解耦)
  • 声明式事务管理(基于切面和惯例)
  • 方便集成其他框架(如MyBatis、Hibernate)
  • 降低 Java 开发难度
  • Spring 框架中包括了 J2EE 三层的每一层的解决方案(一站式)

3.Spring框架结构

在这里插入图片描述

1.数据访问/集成(Data Access/Integration)

  • JDBC模块: 提供了 JBDC 的样例模板,使用这些模板能消除传统冗长的JDBC编码和必须的事务控制,而且还能享受到 Spring管理事务的好处。
  • ORM模块:提供与流行的“对象/关系”映射框架的无缝集成,包括Hibernate、JPA、Ibatis等。而且可以使用Spring事务管理无需额外控制事务。
  • OXM模块:提供了一个Object/XML阻映射实现,将Java对象映射成XML数据,或者将XML数据映射成Java 对象,Object/XML 映射实现包括JAXB、Castor、XMLBeans和XStream等。
  • JMS模块:提供一套“消息生产者,消息消费者”模板,使之更加简单的使用JMS。JMS 用于在两个应用程序之间 ,或分布式系统中发送消息 ,进行异步通信。
  • Transactions模块:该模块用于Spring 管理 事务,只要是Spring 管理对象都能得到Spring管理事务的好处,无需在代码中进行事务控制了,而且支持编程和声明性的事务管理

2. Web

  • WebSocket模块:提供WebSocket功能。
  • Servlet模块:提供了一个Spring MVC Web框架实现。Spring MVC框架提供了基于注解的请求资源注入、更简单的数据绑定、数据验证等及一套非常易用的JSP标签,完全无缝与 Spring其他技术协作。
  • Web模块:提供了基础的Web功能。例如:多文件上传、集成IOC容器、 远程过程访问( RML、Hessian、Burlap )以及Web Service 支持,并提供一个RestTemplate类来进行方便的 Restful Services访问。
  • Portet模块 提供Portet环境支持。

3. AOP Aspects

  • AOP:提供了符合AOP Alliance规范的面向切面的编程(aspect-orientedprogramming)实现,提供比如日志记录、权限控制、性能统计等通用功能和业务逻辑分离的技术,并且能动态地把这些功能添加到需要的代码中。这样各司其职,降低业务逻辑和通用功能的耦合.
  • Aspects:提供了对AspectJ的集成,AspectJ提供了比Spring ASP更强大的功能。

4. Core Container(核心容器)

  • Spring-beans:提供了框架的基础部分,包括控制反转依赖注入。其中BeanFactory是容器核心,本质是“工厂设计模式”的实现,而且无需编程实现“单例设计模式”,单例完全由容器控制,而且提倡面向接口编程,而非面向实现编程。所有应用程序对象及对象间关系由框架管理,从而真正从程序逻辑中,把维护对象之间的依赖关系提取出来,所有这些依赖关系都由BeanFactory来维护。
  • Spring-Core:核心工具类,封装了框架依赖的最底层部分,包括资源访问、类型转换
    及一些常用工具类。
  • Spring-context:以Core和Beans为基础,集成Beans块功能并添加资源绑定、数据验证、国际化、JavaEE支持、容器生命周期、事件传播等。核心接口是ApplicationContext。
  • Spring-SpEL:提供强大的表达式语言支持,支持访问和修改属性值、方法调用;支持访问及修改数组、容器和索引器,命名变量,支持算数和逻辑运算,支持从Spring容器获取Bean,还支持列表投影、选择和一般的列表聚合等。

5. Test

Spring支持Junit和TestNG测试框架,而且还额外提供了一些基于Spring的测试功能,比如在测试web框架时,模拟HTTP求的功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值