首页 > 其他分享 >Spring初步认识

Spring初步认识

时间:2023-05-18 11:14:44浏览次数:30  
标签:模块 框架 认识 Spring 初步 开发 应用 AOP

1.框架的概念

框架就是一些类和接口的集合,通过这些类和接口协调来完成一系列的程序实现;框架就是某些个人或者组织定义了一系列的类或者接口,提前定义好了一些实现,用户可以在这些类和接口的基础之上,使用这些类来迅速的形成某个领域或者某个行业的解决方案,简化开发的过程,提高开发的效率

2.架构发展历史

image.png

单一应用架构(ORM)

只需一个应用,用于简化增删改查工作量的数据访问框架(ORM)是关键

垂直应用架构(MVC)

将应用拆成互不相干的几个应用,以提升效率。此时,用于加 速前端页面开发的Web框架(MVC)是关键

分布式服务架构(RPC)

将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多 变的市场需求。此时,用于提高业务复用及整合的分布式服务框架(RPC)是关键。

流动计算架构(SOA)

增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。此时,用于提高机器利用率的资源调度和治理中心(SOA)是关键

2.Java主流架构技术演变

Servelet+JSP+JavaBean
MVC三层结构

现在都还一直延用

使用EJB进行应用的开发

重量级框架、侵入性强,现在基本没人用了

ssh

structs1/structs2+Hibernate+Spring
银行和一些传统行业在用
慢慢没人用了
structs喜欢发布漏洞,而且公布在官网,学习成本高,用到的东西也少、开发效率低
国外Hibernate占用量高于Mybatits

ssm

SpringMVC+Mybatits+Spring
Mybatits比较灵活

SpringBoot开发

约定大于配置

3.Spring介绍

轻量级开发框架;为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题
为企业开发提供了丰富的功能,都依赖于两个核心组建

依赖注入 (dependency injection,DI)
面向切面编程(aspect-oriented programming,AOP)

Spring核心解释

spring是一个轻量级的开源框架。
spring为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题 spring是一个IOC和AOP的容器框架。
IOC:控制反转
AOP:面向切面编程
容器:包含并管理应用对象的生命周期

4.Spring优点

1、Spring通过DI、AOP和消除样板式代码来简化企业级Java开发
2、Spring框架之外还存在一个构建在核心框架之上的庞大生态圈,它将Spring扩展到不同的领域,如Web服务、REST、移动开发以及NoSQL
3、低侵入式设计,代码的污染极低
4、独立于各种应用服务器,基于Spring框架的应用,可以真正实现 Write Once,Run Anywhere的承诺
5、Spring的IoC容器降低了业务对象替换的复杂性,提高了组件之间 的解耦
6、Spring的AOP支持允许将一些通用任务如安全、事务、日志等进行 集中式处理,从而提供了更好的复用
7、Spring的ORM和DAO提供了与第三方持久层框架的的良好整合, 并简化了底层的数据库访问
8、Spring的高度开放性,并不强制应用完全依赖于Spring,开发者可 自由选用Spring框架的部分或全部

5.Spring的模块划分图

image.png

模块解释:

 Test:Spring的单元测试模块
 Core Container:核心容器模块
 AOP+Aspects:面向切面编程模块
 Instrumentation:提供了class instrumentation支持和类加载器的实现来在特定的应用服务器上使用,几乎不用
 Messaging:包括一系列的用来映射消息到方法的注解,几乎不用
 Data Access/Integration:数据的获取/整合模块,包括了JDBC,ORM,OXM,JMS和事务模块
 Web:提供面向web整合特性

标签:模块,框架,认识,Spring,初步,开发,应用,AOP
From: https://www.cnblogs.com/chinaGoodProgramming/p/17411339.html

相关文章

  • MongoDB + SpringBoot 的基础CRUD、聚合查询
    1、数据准备1.1、springboot导包springboot版本:2.7.10点击查看代码<!--mongodb的包--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifact......
  • SpringMVC 异步(长轮询)实现消息定点推送
    $(function(){getMsg();});functiongetMsg(){$.ajax({url:"/polling/msg",type:"get",data:{},success:function(data){if(data......
  • Spring循环依赖那些事儿(含Spring详细流程图)
    本篇不仅仅是介绍Spring循环依赖的原理,而且给出Spring不能支持的循环依赖场景与案例,对其进行详细解析,同时给出解决建议与方案,以后出现此问题可以少走弯路。背景1、循环依赖异常信息应用时间时间久应用多人同时并行开发应用保证迭代进度经常出......
  • Spring Cloud开发实践(六): 基于Consul和Spring Cloud 2021.0的演示项目
    目录SpringCloud开发实践(一):简介和根模块SpringCloud开发实践(二):Eureka服务和接口定义SpringCloud开发实践(三):接口实现和下游调用SpringCloud开发实践(四):Docker部署SpringCloud开发实践(五):Consul-服务注册的另一个选择SpringCloud开发实践(六):基......
  • Spring Cloud开发实践(五): Consul - 服务注册的另一个选择
    目录SpringCloud开发实践(一):简介和根模块SpringCloud开发实践(二):Eureka服务和接口定义SpringCloud开发实践(三):接口实现和下游调用SpringCloud开发实践(四):Docker部署SpringCloud开发实践(五):Consul-服务注册的另一个选择关于ConsulHashiCorpConsul......
  • SpringBoot(11) -- Logging
    SpringBoot默认使用的日志框架是logback,所以引入Web依赖后直接使用Logger.引入SpringBoot的Web依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>demo的目录结构......
  • java基于springboot+vue的篮球竞赛预约平台、比赛预约管理系统,附源码+数据库+lw文档+P
    1、项目介绍根据篮球竞赛预约平台的功能需求,进行系统设计。前台功能:用户进入系统可以实现首页,竞赛项目,平台公告,个人中心,后台管理等功能进行操作;后台由管理员和用户,主要功能包括首页,个人中心,用户管理,项目分类管理,竞赛项目管理,赛事预约管理,系统管理等功能;系统对这些功能进行整合......
  • Spring的原型Bean(Prototype)声明和注入方式
    目录一、了解单例和原型Bean1.1什么是单例Bean?什么是原型Bean?1.2如何去定义一个原型Bean二、注入原型Bean的方法2.1使用ApplicationContext的getBean每次进行获取2.2使用@Lookup注解三、使用场景四、参考一、了解单例和原型Bean1.1什么是单例Bean?什么是原型Bean?单例Bean,......
  • spring validation 分组手动校验
    定义两个分组接口GroupDefaultOne、GroupDefaultTwo,接口可以继承javax.validation.groups.Default类,也可以不继承。如果继承那么当校验分组的时候,会自动校验没有带分组的参数注解,如@NotNull(message="xxxx不能为Null")如果不继承那么当校验分组的时候,只会校验带了对应......
  • 【渗透测试】关闭springboot中actuator监控
    正常情况下,为了安全,可以通过如下配置关闭监控点management:endpoints:enabled-by-default:false之后访问如health,info等端点,就会报404了,但是如果单纯的访问/actuator路径,还是会有一些信息返回的,这样至少说明了/actuator路径是可以访问的,此时如果有严格的安全渗透......