首页 > 其他分享 >Spring入门

Spring入门

时间:2023-12-06 15:55:20浏览次数:31  
标签:入门 框架 Spring 编程 JavaEE 开发 应用

Spring框架介绍

Spring是一个轻量级Java开发框架,最早有Rod Johnson创建,目的是为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题。它是一个分层的JavaSE/JavaEE full-stack(一站式)轻量级开源框架,为开发Java应用程序提供全面的基础架构支持。Spring负责基础架构,因此Java开发者可以专注于应用程序的开发。

Spring最根本的使命是解决企业级应用开发的复杂性,即简化Java开发。

Spring可以做很多事情,它为企业级开发提供了丰富的功能,但是这些功能的底层都依赖于它的两个核心特性,也就是依赖注入(dependency injection,DI)和面向切面编程(aspect-oriented programming,AOP)。

Spring框架的模块组成可参考这篇文章

为了降低Java开发的复杂性,Spring采取了以下4种关键策略:

基于POJO的轻量级和最小侵入性编程;
通过依赖注入和面向接口实现松耦合;
基于切面和惯例进行声明式编程;
通过切面和模板减少样板式代码。
Spring框架核心
Spring设计目标:Spring为开发者提供一个一站式轻量级应用开发平台;

Spring设计理念:在JavaEE开发中,支持POJO和JavaBean开发方式,使应用面向接口开发,充分支持OO(面向对象)设计方法;Spring通过IoC容器实现对象耦合关系的管理,并实现依赖反转,将对象之间的依赖关系交给IoC容器,实现解耦;

Spring框架的核心:IoC容器和AOP模块。通过IoC容器管理POJO对象以及他们之间的耦合关系;通过AOP以动态非侵入的方式增强服务。

Spring的优缺点
优点
方便解耦,简化开发

Spring就是一个大工厂,可以将所有对象的创建和依赖关系的维护,交给Spring管理。

AOP编程的支持

Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能。

声明式事务的支持

只需要通过配置就可以完成对事务的管理,而无需手动编程。

方便程序的测试

Spring对Junit4支持,可以通过注解方便的测试Spring程序。

方便集成各种优秀框架

Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架的直接支持(如:Struts、Hibernate、MyBatis等)。

降低JavaEE API的使用难度

Spring对JavaEE开发中非常难用的一些API(JDBC、JavaMail、远程调用等),都提供了封装,使这些API应用难度大大降低。

缺点
Spring明明一个很轻量级的框架,却给人感觉大而全
Spring依赖反射,反射影响性能
使用门槛升高,入门Spring需要较长时间
Spring的应用场景
应用场景:JavaEE企业应用开发,包括SSH、SSM等

Spring价值:

Spring是非侵入式的框架,目标是使应用程序代码对框架依赖最小化;
Spring提供一个一致的编程模型,使应用直接使用POJO开发,与运行环境隔离开来;
Spring推动应用设计风格向面向对象和面向接口开发转变,提高了代码的重用性和可测试性;

为什么要学Spring框架

Spring技术是JavaEE开发必备技能,企业开发技术选型命中率>90% 专业角度 简化开发,降低企业级开发的复杂性 框架整合,高效整合其他技术,提高企业级应用开发与运行效率

Spring框架学什么

简化开发 IoC AOP 事务处理 框架整合 MyBatis MyBatis-plus Struts Struts2 Hibernate ……

学习Spring框架设计思想 学习基础操作,思考操作与思想间的联系 学习案例,熟练应用操作的同时,体会思想

标签:入门,框架,Spring,编程,JavaEE,开发,应用
From: https://www.cnblogs.com/YZTL/p/17879732.html

相关文章

  • SpringBoot项目中集成自定义公共Maven依赖如何集成与调试
    场景Nexus-在项目中使用Maven私服,Deploy到私服、上传第三方jar包、在项目中使用私服jar包:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/101391279Maven项目在pom文件中引入lib下的第三方jar包并打包进去:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/det......
  • kettle从入门到精通 第二十三课 kettle carte 错误(java.lang.OutOfMemoryError: GC ov
     1、Couldnotemitbufferduetolackofrequests(无法发出缓冲区,因为请求不足。)原因有两点:1)消费者处理数据能力较弱,如表输出步骤。2)消费者没有处理数据,如传递的数据中有字段type=1的数据,这种情况没有处理。解放方案:针对1)采用多线程处理和开启批量提交,如下图所示批量插入......
  • 【Java 进阶篇】Java Session 原理及快速入门
    大家好,欢迎来到本篇博客。今天,我们将探讨JavaWeb开发中一个重要而令人兴奋的概念,即Session(会话)。Session是一种在Web应用程序中跟踪用户状态和数据的机制。我们将深入了解Session的原理,并通过示例来快速入门。什么是Session?在Web开发中,Session是一种服务器端的机制,用于跟踪用户与W......
  • Spring Boot整合Redis实现订单超时处理
    文章目录为什么使用Redis?准备工作创建订单实体类存储订单到Redis设置订单超时监控订单超时订阅订单超时消息总结......
  • java springboot 读取自定义配置文件
    javaspringboot读取自定义配置文件application.properties、test.properties maven中引用:<dependency><groupId>org.apache.commons</groupId><artifactId>commons-configuration2</artifactId><version......
  • 神经网络入门篇:深度学习和大脑的关联性(What does this have to do with the brain?)
    深度学习和大脑的关联性开始讲故事(手动狗头)深度学习和大脑有什么关联性吗?关联不大。那么为什么会说深度学习和大脑相关呢?当你在实现一个神经网络的时候,那些公式是你在做的东西,你会做前向传播、反向传播、梯度下降法,其实很难表述这些公式具体做了什么,深度学习像大脑这样的类......
  • 【SpringSecurity】Spring Security 和Shiro对比
    1、概述SpringSecurity的前身是AcegiSecurity,在被收纳为Spring子项目后正式更名为SpringSecurity。SpringSecurity是Spring家族中的一个安全管理框架。相比与另外一个安全框架Shiro,它提供了更丰富的功能,社区资源也比Shiro丰富;SpringSecurity是一个功能强大且高度可定制的......
  • 【转】SpringBoot实现策略模式
    文章来源:微信公众号《Java极客技术》 ,作者:鸭血粉丝Tang  1.普通代码实现在介绍SpringBoot中如何实现策略设计模式之前,我们先简单的回顾一下策略模式的设计思路。以编写一个简单的程序计算器,代码如下!首先,我们定义一个Operation接口,用于逻辑的计算publicint......
  • 一、Spring学习 : 容器---->BeanFactory+ApplicationContext 的多种容器实现
    BeanFactory实现的特点我们来着重讲一下DefaultListableBeanFactory这个实现类:点击查看完整代码packagecom.itvayne.springbootcloudstudy.beanfactory01;importcom.sun.org.slf4j.internal.Logger;importcom.sun.org.slf4j.internal.LoggerFactory;importorg.springf......
  • kafka入门(三):kafka多线程消费
    kafka消费积压如果生产者发送消息的速度过快,或者是消费者处理消息的速度太慢,那么就会有越来越多的消息无法及时消费,也就是消费积压。消费积压时,可以使用多线程消费,提高消费速度。kafka多线程消费的代码:publicclassThirdMultiConsumerThreadDemo{publicstaticfinalS......