Spring基础知识(一)
目录
1.Spring Framework
2.Spring Framework优点
3.Spring Framework的功能模块
4.Spring配置文件
5.Spring应用配置步骤
6.Spring的IoC是什么
7.IoC的理念
8.IoC体系的好处
9.Spring中的 IoC 容器
10.依赖注入的方式
1.Spring Framework
Spring Framework即Spring框架,是所有Spring框架的基础框架。
是一个开源框架,用来降低应用程序的耦合度。
2.Spring Framework优点
1. 非侵入式:对应用程序本身结构影响很小,可以与原有结构结合使用
2. 控制反转:IOC- Inversion of Control,反转资源获取方向,把自己创建资源、向环境索取资源变成环境将资源准备好,我们享受资源注入
3. 面向切面编程:AOP- Aspect Oriented Programming,在不修改源代码的基础上增强代码功能
4. 免费:是开源的
5. 组件化:Spring实现了使用简单的组件配置组合成一个复杂的应用
3.Spring Framework的功能模块
1. Core Container:核心容器,在Spring环境下使用任何功能都必须基于IOC容器
2. AOP&Aspects:面向切面编程
3. Testing:提供了对junit或TestNG测试框架的整合
4. Data Access/Integration:提供了对数据访问/集成的功能
5. Spring MVC:提供了面向Web应用程序的集成功能
4.Spring配置文件
配置文件为 .xml 文件,包含类的配置与依赖注入等。
一般的文件路径为:src\main\resources\applicationContext.xml
代码示例:比如一个配置文件可以引入外部属性文件,配置数据源,编写操作数据库的代码
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"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/context https://www.springframework.org/schema/context/spring-context.xsd"><!-- 1.引入外部属性文件--><context:property-placeholder location="jdbc.properties"></context:property-placeholder><!-- 2.配置数据源--><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"><property name="driverClassName" value="${jdbc.driver}"></property><property name="url" value="${jdbc.url}"></property><property name="username" value="${jdbc.username}"></property><property name="password" value="${jdbc.password}"></property></bean><bean id="studentTest" class="com.gz.spring.pojo.Student" scope="prototype">
<!-- <bean id="studentTest" class="com.gz.spring.pojo.Student" scope="singleton">--><property name="id" value="1001"></property><property name="name" value="张三"></property></bean></beans>
详细关于配置文件管理bean的操作见:
Spring的重点知识_perseveregz的博客-CSDN博客
5.Spring应用配置步骤
1. 配置pom.xml文件
2. 创建pojo实体类
3. 创建配置文件applicationContext.xml;配置一个bean对象,将对象交给IOC容器管理
4. 进行测试
6.Spring的IoC是什么
1.概念
IoC:Invention of Control;控制反转;也叫做DI:Dependency Injection:依赖注入
2.作用
若对象A与对象B存在依赖关系,引入IoC后,控制权交给了IoC;当A需要B时,不需要主动与对象B进行交互,而直接让IoC创建一个对象注入到A所需要B的位置。A获取B的方式由主动创建转为被动接受注入。这,就是IoC。同时也引出了IoC的同义名词-依赖注入。
关于SpringIoC的详解见:
Spring中关于bean与IoC的解析_perseveregz的博客-CSDN博客
7.IoC的理念
对于软件工程而言,可能需要多个系统之间、多个模块之间、多个对象之间的相互耦合,共同组成一个企业级应用工程,随着耦合度越来越高,极容易牵一发而动全身的情况,只要其中一小部分出现问题,整个工程便无法实现功能。为了解决这种系统、模块、对象之间的耦合度过高的问题,提出了IoC的概念。如今IoC的理论在Spring中得到充分的展现。IoC其实就相当于一个第三方中间件,对象之间都根据这个第三方形成依赖关系。
8.IoC体系的好处
IoC体系的好处在于:之前对象之间组成依赖关系,若其中一个对象出现问题,则全局无法开展;而使用一个第三方中间件之后,尽管其中一个对象出现问题,其他模块都能够正常工作。因此,可以将IoC容器看作是所有对象之间的粘合剂,这些对象的控制权都交给了IoC,这样就叫做控制反转。
9.Spring中的 IoC 容器
Spring提供了两种IOC容器的实现方式:BeanFactory;ApplicationContext
BeanFactory:IOC容器的基本实现,是Spring内部使用的接口,面向Spring本身,不提供给开发人员使用
ApplicationContext:BeanFactory的子接口,面向Spring的使用者
10.依赖注入的方式
通过三种方式
构造函数注入
setter方法注入
接口注入(由接口提供的方法进行对象注入,但现在不推荐使用)