1、简介
spring理念:是现有的技术更加容易使用,本身是一个大杂烩。
ssh:struct2 + spring + hibernatessm: springmvc + spring + mybatis1.1、导入包
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --><dependency> <groupid>org.springframework</groupid> <artifactid>spring-webmvc</artifactid> <version>5.3.9</version></dependency><!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc --><dependency> <groupid>org.springframework</groupid> <artifactid>spring-jdbc<小豌豆/artifactid> <version>5.3.9</version></dependency>
1.2、优点
spring是开源的免费的容器。spring是一个轻量级的,非入侵式的。控制反转(ioc),面向切面编程 (aop)。支持事务处理,对框架整合的支持。总结:spring是一个轻量级的控制反转(ioc)和面向切面编程(aop)的框架。
1.3、spring组成
1.4、拓展
1.spring boot 构建一切
1.一个快速开发的脚手架
2.基于springboot可以快速地开发单个微服务
3.约束大于配置!
2.spring cloud 协调一切
1.springcloud是基于springboot实现的
3.spring cloud data flow 连接一切
学习springboot的前提,需要完全掌握spring以及springmvc!
在之前,用户的需求可能会影响原来的代码。
2.1、分析实现
新建一个空白的maven项目
分析实现
我们先用我们原来的方式写一段代码 .
1、先写一个urdao接口
public interface urdao { public void getur();}
2、再去写dao的实现类
public class urdaoimp implements urdao{ @override public void getur() { system.out.println("默认获取用户的数据"); }}
3、然后去写urrvice的接口
public interface urrvice { public void getur();}
4、最后写rvice的实现类
public cl搞笑小学生作文ass urrviceimp implements urrvice{ private urdao urdao = new urdaoimp(); public void getur(){ urdao.getur(); }}
5、测试一下
@testpublic void mytest(){ urrvice rvice = new urrviceimpl(); rvice.getur();}
这是我们原来的方式 , 一开始大家也都是这么去写的对吧 . 那我们现在修改一下 .
把urdao的实现类增加一个 .
public class urdaomysqlimp implements urdao{ @override public void getur() { system.out.println("mysql获取用户数据!"); }}
紧接着我们要去使用mysql的话 , 我们就需要去rvice实现类里面修改对应的实现
public 比熊犬吃什么class urrviceimpl implements urrvice { private urdao urdao = new urdaomysqlimpl(); @override public void getur() { urdao.getur(); }}
在假设, 我们再增加一个urdao的实现类 .
public class urdaooracleimpl implements urdao { @override public void getur() { system.out.println("oracle获取用户数据"); }}
那么我们要使用oracle , 需要去rvice实现类里面修改对应的实现 . 假设我们的这种需求非常大 , 这种方式就根本就不适用了, 甚至反人类对吧 , 每次变动 , 需要修改大量代码 . 这种设计的耦合性太高了, 牵一发而动全身 .
那我们如何去解决呢 ?
我们可以在需要用到他的地方 , 不去实现它 , 而是留出一个接口 , 利用t , 我们去代码里修改一下 .
public class urrviceimpl implements urrvice { private urdao urdao;// 利用t实现 public void turdao(urdao urdao) { this.urdao = urdao; } @override public void getur() { urdao.getur(); }}
现在去我们的测试类里 , 进行测试 ;
public class mytest { public static void main(string[] args) { //用户实际调用的是业务层,dao层他们不需要接触! urrviceimp urrvice = new urrviceimp(); ((urrviceimp) urrvice).turdao(new urdaosqlrviceimp()); urrvice.getur(); }}
使用一个t。
private urdao urdao; //利用t进行动态实现值的注入 public void turdao(urdao urdao) { this.urdao = urdao; }
之前是主动创建对象,控制权在程序猿手上!使用t之后,程序不再具有主动性,而是变成了被动接受对象。这种思想,从本质上解决了问题,我们程序猿不用再去管理对象的创建。系统天津小学划片的耦合性大大降低,可以更加专注在业务的实现上!这是ioc的原型!
本文发布于:2023-04-05 03:52:48,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/edd3378e6e7421c8009be12daed77be8.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:java spring框架入门(java后端框架排名).doc
本文 PDF 下载地址:java spring框架入门(java后端框架排名).pdf
留言与评论(共有 0 条评论) |