JavaWeb框架-Spring(基本概念)
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(基本概念)相关推荐
- Spring框架----Spring框架的基本概念
1.spring 是什么 Spring是分层的 Java SE/EE应用 full-stack 轻量级开源框架,以 IOC(Inverse Of Control: 控制反转)和 AOP(Aspect ...
- 【代码审计-JAVA】基于javaweb框架开发的
前言: 介绍: 博主:网络安全领域狂热爱好者(承诺在CSDN永久无偿分享文章). 殊荣:CSDN网络安全领域优质创作者,2022年双十一业务安全保卫战-某厂第一名,某厂特邀数字业务安全研究员,edus ...
- JavaSE、JavaEE与Spring的概念和异同点剖析
JavaSE.JavaEE与Spring的概念和异同点剖析 什么是JavaSE JavaSE是Java的核心,也就是 Java的主要部分.用于开发桌面应用程序和基于web的应用程序.它提供了从基本对象 ...
- spring项目概念-BeanFactoryApplicationContext
看一下,接下来又是一个概念性的东西,不过这个概念就比较具体一些了,DI和IOC是属于思想性质的,applicationContext和BeanFactory,简单说一下这个对象,再看这两个对象,咱们先 ...
- Spring、SpringMVC、Spring Boot、Spring Cloud 概念、关系及区别
注:此文章转载于其他大神 一.正面解读: Spring主要是基于IOC反转Beans管理Bean类,主要依存于SSH框架(Struts+Spring+Hibernate)这个MVC框架,所以定位很明确 ...
- Java高级框架——Spring学习
北京尚学堂--基于此教育机构的视频所学习 目录 一.Spring 框架简介及官方压缩包目录介绍 二.IOC 三.Spring环境的搭建 四.Spring的三种创建对象方法 五.如何给bean的属性赋值 ...
- Spring Cloud概念+案例(eureka注册+拉取、ribbon负载均衡+重试)、netfix各组件介绍【上】
Spring Cloud概念+案例(断路器)[下] https://blog.csdn.net/LawssssCat/article/details/104632719 [⭐️⭐️⭐️] Spring ...
- 三大框架-Spring
一 .概述 spring框架是以一个分层架构,有七个定义良好的模块组成,Spring模块构建在核心容器之上,核心容器定义了创建,配置和管理bean方式: 1.Spring Core:核心容器 ,提供S ...
- SSM Chapter 05 Spring 核心概念
SSM Chapter 05 Spring 核心概念 笔记 本章目标: 理解Spring IoC的原理 掌握Spring IoC的配置 理解Spring AOP的原理 掌握Spring AOP的配置 ...
- Spring基础概念
Spring基础概念 1.什么是Spring? Spring是一个开源的用来简化开发的应用程序框架. 1.1简化开发 Spring对一些常用的API做了封装,简化了程序代码(例如使用Spring JD ...
最新文章
- Tensorflow 变量的共享
- python3 not 用法
- 交互搜索中的自然语言理解技术
- H2Database 转义符
- 计算机数值计算的相关文章,数值计算论文.doc
- memcpy和strcpy函数
- Redis数据类型及其命令
- 阿里矢量图标库 - Font class 方式使用说明
- Firefox国际版上登录本地服务
- GD32F103RBT6开发笔记
- UnityHub破解Unity破解
- html label 背景图片,Qt添加窗口背景图片、Label图片显示、、Label文字显示
- 报错vs2019 初始值设定项值太多
- 乘积最大python
- 【源码】非常有用的Vml图像画板
- 自考计算机大专多久毕业证,自考大专要多久才可以拿到毕业证?
- DiSAN(18’AAAI)
- Allocation of XXXXXXXX exceeds 10% of system memory
- python 中range(10)什么意思_请问在Python中for i in range(10,0,-1)是什么意思
- 发布了半个月的社交软件们,还好吗
热门文章
- Android使用Zxing库生成PDF417扫描后多一个字符A
- 程序员微信头像_哪些微信头像一看就是程序员?
- 汇编实验----电话号码
- BIGEMAP下载离线地图数据(支持谷歌、百度、高德等所有地图源)
- 一级计算机选择题汇总,计算机一级考试选择题汇总.pdf
- 1.ZooKeeper Java客户端的基本使用「第三章 ZooKeeper Java客户端」「架构之路ZooKeeper理论和实战」
- 如果IE浏览器是IE11以下版本跳转到升级页面
- 数值计算之 共轭梯度法(2)非线性共轭梯度法
- cfe刷机教程 斐讯k3_2019斐讯K3全版本免拆机免降级刷机教程
- 成功上岸,心得分享(计算机专业)