SpringBoot

01 Web项目中存在的开发问题

      耦合度问题过高

     大量使用重复性代码,如:Try.. catch ... finally ..去控制业务逻辑

其余各种框架五花八门,对原有项目侵入性强,整合繁琐。
02 Spring 的优势
       
对于 POJO 的潜力开发,提供轻量级和低侵入的编程,可以通过配置(XML、注解等)来扩展 POJO 的功能,通过依赖注入的理念去扩展功能,建议通过接口编程,强调 OO 的开发模式理念,降低系统稿合度,提高系统可读性和可扩展性。
提供切面编程,尤其是把企业的核心应用一一数据库应用,通过切面消除了以前复杂的问.•. catch ... finally ...代码结构,使得开发人员能够把精力更加集中于业务开发而不是技术本身,也避免了町...catch ... finally 语句的滥用
为了整合各个框架和技术的应用, Spring 提供了模板类,通过模板可以整合各个框架和技术,比如支持 Hibernat 开发的 HibernateTemp late 、支持 MyBatis 开发的SqlSessionTemplate 、支持 Red is 开发的 RedisTemplate 等,这样就把各种企业用到的技术框架整合到 Spring 中,提供了统 的模板,从而使得各种技术用起来更简单

2 .Spring概述 

                    官网地址:https://spring.io/

Spring 是最受欢迎的企业级 Java 应用程序开发框架,数以百万的来自世界各地的开发人员使用

Spring 框架易于创建性能好、易于测试、可重用的代码。

Spring 框架是一个开源的 Java 平台,它最初是由 Rod Johnson 编写的,并且于 2003 年 6 月首次在 Apache 2.0 许可下发布。

Spring 是轻量级的框架,其基础版本只有 2 MB 左右的大小。

Spring 框架的核心特性是可以用于开发任何 Java 应用程序,但是在 Java EE 平台上构建 web 应用程序是需要扩展的。 Spring 框架的目标是使 J2EE 开发变得更容易使用,通过启用基于 POJO编程模型来促进良好的编程实践。

总之,Spring是一个轻量级控制反转面向切面的容器框架,用来解决企业项目开发的复杂度问题

轻量级:体积小,对代码没有侵入性
控制反转:IoC(Inverse of Control),把创建对象的工作交由Spring完成,Spring在创建对象的时候同时可以完成对象属性赋值(DI)
面向切面:AOP(Aspect Oriented Programming)面向切面编程,可以在 不改变原有业务逻辑的情况下实现对业务的增强
容器:Spring IOC 是一个容器,因为它包含并且管理组件对象的生命周期。组件享受到了容器化
的管理,替程序员屏蔽了组件创建过程中的大量细节,极大的降低了使用门槛,大幅度提高了开发
效率。

Srping重要的是思想:

一切设计都是为了松开耦合、减少重复代码、增强业务代码扩展性 —— 减少企业级应用开发的复杂度

Spring架构

旗下提供了多种项目:工具框架、微服务架构等

Spring Framework是Spring 基础框架,可以视为 Spring 基础设施,基本上任何其他 Spring 项目都是以 Spring Framework为基础的。

 

 网址:https://spring.io/projects/spring-framework#overview

1.核心容器

         Spring的核心容器是其他模块建立的基础,由Spring-coreSpring-beansSpring-contextSpring-Context-supportSpring-expressionSpring表达式语言)等模块组成。

    Spring-core模块:提供了框架的基本组成部分,包括控制反转(Inversion of ControlIoC)和依赖注入(Dependency InjectionDI)功能。

    Spring-beans模块:提供了BeanFactory,是工厂模式的一个经典实现,Spring将管理对象称为Bean

    Spring-context模块:建立在CoreBeans模块基础上,提供一个框架式的对象访问方式,是访问定义和配置的任何对象的媒介。ApplicationContext接口是Context模块的焦点。

Spring-context-support模块:支持整合第三方库到Spring应用程序上下文,特别是用于高速缓存(EhCacheJCache)和任务调度(CommonJQuartz)的支持。

    Spring-expression模块:提供了强大的表达式语言去支持运行时查询和操作对象图。

2AOPInstrumentation       

      Spring-aop模块:提供了一个符合AOP要求的面向切面的编程实现,允许定义方法拦截器和切入点,将代码按照功能进行分离,以便干净地解耦。

    Spring-aspects块:提供了与AspectJ的集成功能,AspectJ是一个功能强大且成熟的AOP框架。

    Spring-instrument块:提供了类植入(instrumentation)支持和类加载器的实现,可以在特定的应用服务器中使用。

3.消息

       Spring 4.0以后新增了消息(Spring-messaging)模块,该模块提供了对消息传递体系结构和协议的支持。

4.数据访问/集成         

         数据访问/集成层由JDBCORMOXMJMS和事务模块组成。

    Spring-jdbc模块:提供了一个JDBC 的抽象层,消除了繁琐的JDBC编码和数据库厂商特有的错误代码解析。

    Spring-tx模块(事务模块):支持用于实现特殊接口和所有POJO(普通Java对象)类的编程和声明式事务管理。

    Spring-orm模块:为流行的对象关系映射(Object-Relational Mapping )API提供集成层,包括JPAHibernate。使用Spring-orm模块,可以将这些O/R映射框架与Spring提供的所有其他功能结合使用,例如声明式事务管理功能。

    Spring-oxm模块:提供了一个支持对象/XML映射的抽象层实现,如JAXBCastorJiBXXStream

    Spring-jms模块(Java Messaging Service) :指Java消息传递服务,包含用于生产和使用消息的功能。自Spring 4.1后,提供了与Spring-messaging模块的集成。

5Web      

    Web层由Spring-webSpring-webmvcSpring-websocketPortlet模块组成。

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

    Spring-webmvc模块:也称为Web-Servlet模块,包含用于Web应用程序的Spring MVCREST Web Services实现。 Spring MVC框架提供了领域模型代码和Web表单之间的清晰分离,并与  Spring Framework的所有其他功能集成,本书后续章节将会详细讲解Spring MVC框架。

    Spring-websocket模块Spring 4.0后新增的模块,它提供了WebSocketSockJS的实现。

    Portlet模块:类似于Servlet模块的功能,提供了在Portlet环境中使用MVC实现。

6.测试

    Spring-test模块:支持使用JUnitTestNGSpring组件进行单元测试和集成测试。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值