学习Spring(一)

学习Spring(一)

1.1简介

Spring框架:

Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。

◆目的:解决企业应用开发的复杂性

◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能

◆范围:任何Java应用

Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。

  • Spring:春天——>给软件行业带来了春天!

  • 2002,首次推出了Spring框架的雏形:interface21框架

  • 2004.3月24诞生1.0版本 Spring框架即以interface21框架为基础,经过重新设计,并不断丰富其内涵,于2004年3月24日,发布了1.0正式版。

  • Rod Johnson Spring Framework创始人,著名作者。

  • SSH:Struct2+Spring+Hibernate!

  • SSM:SpringMVC+Spring+Myatis!

官网:https://spring.io/projects/spring-framework

官方下载地址: http://repo.spring.io/release/org/springframework/spring

版本号:

https://docs.spring.io/spring-framework/docs/4.3.9.RELEASE/spring-framework-reference/

GitHub:https://github.com/spring-projects/spring-framework

<!-- https://mvnrepository.com/artifact/org.springframework/spring-web -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>5.2.0.RELEASE</version>
</dependency>
    
<!-- https://mvnrepository.com/artifact/org.springframework/spring-web -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>5.2.0.RELEASE</version>
</dependency>

1.2优点

spring是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的框架!

1.3组成

img

1.4拓展

Spring的官网有这个介绍:现代化的java开发!说白了就是基于Spring的开发!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D7Nq5Wss-1607137142922)(C:\Users\PANYAOHAI\AppData\Roaming\Typora\typora-user-images\image-20201204193452393.png)]

  • Spring Boot

    • 一个快速开发的脚手架。
    • 基于SpringBoot可以快速的开发单个微服务。
    • 约定大于配置!
  • Spring Cloud

    • SpringCloud是基于SpringBoot实现的

因为现在大多数公司都在使用SpringBooot进行快速开发,学习SpringBoot的前提,需要完全掌握Spring及SpringMVC!承上启下的作用!

弊端:发展了太久之后,违背了原来的理念!配置十分繁琐,人称:配置地狱!

2.IOC理论

  1. UserDao接口
  2. UserDaoImpl实现类
  3. UserService业务接口
  4. UserServiceImpl业务实现类

在我们之前的业务中,用户的需求可能会影响我们原来的代码,我们需要根据用户的需求去修改代码! 如果程序代码量十分大,修改一次的成本时分昂贵!

我们使用一个Set接口实现,已经发生了革命性的变化!

private UserDao userDao;

//利用set进行动态修改实现注入!
public void setUserDao(UserDao userDao){
    this.userDao=userDao;
}
  • 之前,程序是主动创建对象控制权在程序员手中
  • 使用set注入后,程序不再具有主动性,而是变成了被动的接受对象
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值