Spring 的基本概述
Spring学习的核心内容—一图胜千言
- IOC:控制反转,可以管理 Java 对象
- AOP:切面编程
- JDBCTemplate:是Spring提供一套访问数据库的技术,应用性强,相对好理解
- 声明式事务:基于IOC / AOP实现事务管理
Spring的几个重要概念
1、Spring可以整合其他的框架(Spring是管理框架的框架)
2、Spring有两个核心的概念:IOC和AOP
3、IOC(Inversion Of Control 控制反转)
- 传统的开发模式(JdbcUtils / 反射)
程序 —> 环境(程序读取环境配置,然后自己创建对象)
1、程序员编写程序,在程序中读取到配置信息
2、创建对象,new Object() // 反射方式
3、使用对象完成任务
- IOC的开发模式
程序 <— 容器(容器创建好对象,程序直接使用)
1、Spring 根据配置文件XML / 注解来创建对象,并放入到容器(ConcurrentHashMap)中,并且可以完成对象之间的依赖
2、当需要使用某个对象实例的时候,就直接从容器中获取即可
3、程序员可以更加关心如果使用对象完成相应的业务(以前是new => 注解 / 配置方式)
4、DI—Dependency Injection 依赖注入(是实现IOC的一种方法)
5、Spring最大的价值,通过配置给程序提供需要使用的web层[ Servlet(Action / Controller) ]/Service/Dao/[ JavaBean/Entity ]对象
- 这个是核心价值所在,也是IOC的具体体现,实现解耦
Spring的快速入门
需求说明
- 通过 Spring 的方式(配置文件),获取 JavaBean:Monster的对象,并给该对象属性赋值,输出该对象信息
完成步骤
- 下载Spring的开发包:https://spring.io/projects/spring-framework#learn
代码实现
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/util
https://www.springframework.org/schema/util/spring-util.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd">
<!--
1. 配置monster对象
2. 在beans中可以配置多个bean
3. bean表示就是一个java对象
4. class属性是用于指定类的全路径 -> Spring底层使用反射创建
5. id属性表示该Java对象在Spring容器中的id,通过id可以获取到该对象
6. <property name="monsterId" value="100"/> 用于给该对象的属性赋值
-->
<bean class="com.zan.spring.bean.Monster" id="monster01">
<!-- <bean class="com.zan.spring.bean.Monster">-->
<property name="monsterId" value