Spring框架概述(百度百科)

Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Spring的核心是控制反转(IoC)和面向切面(AOP)。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架

轻量级:与EJB对比依赖的资源少

一站式:spring为每一层都提供了相应的解决方案(画图表示)

spring的核心思想

IOC:Inversion of Control,控制反转,是一中面向对象的设计模式,实现它最常用的方式就是DI(依赖注入)
AOP:Aspect Oriented Programming,面向切面编程,不修改源代的形式动态地为原本的系统增加新功能,通过配置的方式

spring的优点

1.方便解耦,简化开发 (高内聚低耦合)
• Spring就是一个大工厂(容器),可以将所有对象创建和依赖关系维护,交给Spring管理
• spring工厂是用于生成bean

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

3.声明式事务的支持
• 只需要通过配置就可以完成对事务的管理,而无需手动编程

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

5.方便集成各种优秀框架
• Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:Struts、Hibernate、MyBatis、Quartz等)的直接支持

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

spring的核心架构

图来自网络

spring入门级开发过程(体验IOC)

1.导入jar包(4个核心和1个依赖还有一个测试jar,还有一个hamcrest.jar,这是因为junit4.10以上版本不支持hamcrest,要么降低版本,要么导入相应的jar包,我们导入jar包


2.生成一个结构和一个实现类


3.获得这个service的实例

以前我们是直接用new的形式,例如这样

获得结果

现在我们交给spring来管理,从spring工厂获得实例,所以要去配置文件配置,然后配置文件如下形式

1.位置:任意,开发中一般在classpath下(src)
2.名称:任意,开发中常用applicationContext.xml
3.内容:添加schema约束

然后我们就去配置

完成之后我们就可以去使用这个bean

Spring入门开发(体验DI)

DI叫做依赖注入,就是一个对象需要使用另一个对象
注入,我们常用的是setter注入,还有其他的注入方式

所以我们去创建一些类来完成这个体验
1.dao接口

2.dao实现类

3.service接口

4.service接口实现类

5.去配置文件配置

写个测试类

测试效果

这就是spring最基本的东西,今天开始把spring复习一遍,后面会慢慢完善spring的其他知识点。最后就可以整合struts2和hibernate一起做一个项目了

JavaWeb框架-Spring(基本概念)相关推荐

  1. Spring框架----Spring框架的基本概念

    1.spring 是什么 Spring是分层的 Java SE/EE应用 full-stack 轻量级开源框架,以 IOC(Inverse Of Control: 控制反转)和 AOP(Aspect ...

  2. 【代码审计-JAVA】基于javaweb框架开发的

    前言: 介绍: 博主:网络安全领域狂热爱好者(承诺在CSDN永久无偿分享文章). 殊荣:CSDN网络安全领域优质创作者,2022年双十一业务安全保卫战-某厂第一名,某厂特邀数字业务安全研究员,edus ...

  3. JavaSE、JavaEE与Spring的概念和异同点剖析

    JavaSE.JavaEE与Spring的概念和异同点剖析 什么是JavaSE JavaSE是Java的核心,也就是 Java的主要部分.用于开发桌面应用程序和基于web的应用程序.它提供了从基本对象 ...

  4. spring项目概念-BeanFactoryApplicationContext

    看一下,接下来又是一个概念性的东西,不过这个概念就比较具体一些了,DI和IOC是属于思想性质的,applicationContext和BeanFactory,简单说一下这个对象,再看这两个对象,咱们先 ...

  5. Spring、SpringMVC、Spring Boot、Spring Cloud 概念、关系及区别

    注:此文章转载于其他大神 一.正面解读: Spring主要是基于IOC反转Beans管理Bean类,主要依存于SSH框架(Struts+Spring+Hibernate)这个MVC框架,所以定位很明确 ...

  6. Java高级框架——Spring学习

    北京尚学堂--基于此教育机构的视频所学习 目录 一.Spring 框架简介及官方压缩包目录介绍 二.IOC 三.Spring环境的搭建 四.Spring的三种创建对象方法 五.如何给bean的属性赋值 ...

  7. Spring Cloud概念+案例(eureka注册+拉取、ribbon负载均衡+重试)、netfix各组件介绍【上】

    Spring Cloud概念+案例(断路器)[下] https://blog.csdn.net/LawssssCat/article/details/104632719 [⭐️⭐️⭐️] Spring ...

  8. 三大框架-Spring

    一 .概述 spring框架是以一个分层架构,有七个定义良好的模块组成,Spring模块构建在核心容器之上,核心容器定义了创建,配置和管理bean方式: 1.Spring Core:核心容器 ,提供S ...

  9. SSM Chapter 05 Spring 核心概念

    SSM Chapter 05 Spring 核心概念 笔记 本章目标: 理解Spring IoC的原理 掌握Spring IoC的配置 理解Spring AOP的原理 掌握Spring AOP的配置 ...

  10. Spring基础概念

    Spring基础概念 1.什么是Spring? Spring是一个开源的用来简化开发的应用程序框架. 1.1简化开发 Spring对一些常用的API做了封装,简化了程序代码(例如使用Spring JD ...

最新文章

  1. Tensorflow 变量的共享
  2. python3 not 用法
  3. 交互搜索中的自然语言理解技术
  4. H2Database 转义符
  5. 计算机数值计算的相关文章,数值计算论文.doc
  6. memcpy和strcpy函数
  7. Redis数据类型及其命令
  8. 阿里矢量图标库 - Font class 方式使用说明
  9. Firefox国际版上登录本地服务
  10. GD32F103RBT6开发笔记
  11. UnityHub破解Unity破解
  12. html label 背景图片,Qt添加窗口背景图片、Label图片显示、、Label文字显示
  13. 报错vs2019 初始值设定项值太多
  14. 乘积最大python
  15. 【源码】非常有用的Vml图像画板
  16. 自考计算机大专多久毕业证,自考大专要多久才可以拿到毕业证?
  17. DiSAN(18’AAAI)
  18. Allocation of XXXXXXXX exceeds 10% of system memory
  19. python 中range(10)什么意思_请问在Python中for i in range(10,0,-1)是什么意思
  20. 发布了半个月的社交软件们,还好吗

热门文章

  1. Android使用Zxing库生成PDF417扫描后多一个字符A
  2. 程序员微信头像_哪些微信头像一看就是程序员?
  3. 汇编实验----电话号码
  4. BIGEMAP下载离线地图数据(支持谷歌、百度、高德等所有地图源)
  5. 一级计算机选择题汇总,计算机一级考试选择题汇总.pdf
  6. 1.ZooKeeper Java客户端的基本使用「第三章 ZooKeeper Java客户端」「架构之路ZooKeeper理论和实战」
  7. 如果IE浏览器是IE11以下版本跳转到升级页面
  8. 数值计算之 共轭梯度法(2)非线性共轭梯度法
  9. cfe刷机教程 斐讯k3_2019斐讯K3全版本免拆机免降级刷机教程
  10. 成功上岸,心得分享(计算机专业)