Skip to content
On this page

Spring 基本介绍

官网

Spring5 下载

进入 Spring5

img

进入 Spring5 的 github

img

下拉 Access to Binaries, 进入 Spring

img

img![img](file:////private/var/folders/4c/lkgg2s8s01jgq8b211b8yfdr0000gn/T/com.kingsoft.wpsoffice.mac/wps-xuqingye2/ksohtml//wps1079.png)

img

img

拷贝下载地址,打开

img

点击进入, 即可下载-

img

官方在线文档

离线文档:解压 spring-5.3.8-dist.zip spring-framework-5.3.8\docs\reference\html\index.html

离线API:解压spring-5.3.8-dist.zip spring-framework-5.3.8\docs\javadoc-api\index.html

Spring 学习的核心内容

img

  1. Spring 核心学习内容 IOC、AOP, jdbcTemplate, 声明式事务

  2. IOC: 控制反转 , 可以管理 java 对象

  3. AOP : 切面编程

  4. JDBCTemplate : 是 spring 提供一套访问数据库的技术, 应用性强,相对好理解

  5. 声明式事务: 基于 ioc/aop 实现事务管理, 理解有需要小伙伴花时间

  6. IOC, AOP 是重点同时难点

Spring 几个重要概念

  1. Spring 可以整合其他的框架(老韩解读: Spring 是管理框架的框架)
  2. Spring 有两个核心的概念: IOC 和 AOP
  3. IOC [Inversion Of Control
  4. DI—Dependency Injection 依赖注入,可以理解成是 IOC 的另外叫法.
  5. Spring 最大的价值,通过配置,给程序提供需要使用的 web 层[Servlet(Action/Controller)]/Service/Dao/[JavaBean/entity]对象, 这个是核心价值所在,也是 ioc 的具体体现, 实现解耦

● 传统的开发模式[JdbcUtils / 反射] 程序------>环境 //程序读取环境配置,然后自己创建对象

![img](file:////private/var/folders/4c/lkgg2s8s01jgq8b211b8yfdr0000gn/T/com.kingsoft.wpsoffice.mac/wps-xuqingye2/ksohtml//wps1089.png)

老韩解读上图(以连接到数据库为例说明)

  1. 程序员编写程序, 在程序中读取配置信息

  2. 创建对象, new Object???() // 反射方式

  3. 使用对象完成任务

● IOC 的开发模式 [EmpAction EmpService EmpDao Emp] 程序<-----容器 //容器创建好对象,程序直接使用.

img

老韩解读上图(以连接到数据库为例说明)

1、Spring 根据配置文件 xml/注解, 创建对象, 并放入到容器(ConcurrentHashMap)中, 并且可以完成对象之间的依赖

2、当需要使用某个对象实例的时候, 就直接从容器中获取即可

3、程序员可以更加关注如何使用对象完成相应的业务, (以前是new ... ==> 注解/配置方式)

  1. DI—Dependency Injection 依赖注入,可以理解成是 IOC 的另外叫法.
  2. Spring 最大的价值,通过配置,给程序提供需要使用的 web 层[Servlet(Action/Controller)]/Service/Dao/[JavaBean/entity]对象, 这个是核心价值所在,也是 ioc 的具体体现, 实现解耦

img

Spring 快速入门

创建 Java 工程

img

img

引入开发 spring5 的基本包

img

img

spring 容器结构/机制

img

img

img

img

img

img

img

查看容器注入了哪些 bean 对象,会输出 bean 的 id

java
String[] str = ioc.getBeanDefinitionNames();
for (String string : str) {
 System.out.println("..." + string);
}

手动开发- 简单的 Spring 基于 XML 配置的程序

自己写一个简单的 Spring 容器, 通过读取 beans.xml,获取第1 个JavaBean: Monster 的对象,并给该的对象属性赋值,放入到容器中, 输出该对象信息

xml
<bean class="com.hspedu.spring.bean.Monster" id="monster01">
	<property name="monsterId" value="100"></property>
  <property name="name" value="牛魔王"></property>
  <property name="skill" value="牛魔王拳"></property>
</bean>
bash
Monster{monsterId=1,name='牛魔王',skill='牛魔王拳'}

img

Spring 原生容器底层结构

img

img

img

img

img

img