Spring 简介
Spring是一个开源框架
Spring为简化企业级开发而生,使用Spring开发可以将Bean对象,Dao组件对象,Service组件对象等交 给Spring容器来管理,这样使得很多复杂的代码在Spring中开发却变得非常的优雅和简洁,有效的降低 代码的耦合度,极大的方便项目的后期维护、升级和扩展。
Spring是一个IOC(DI)和AOP容器框架。
Spring的优良特性
- 非侵入式:基于Spring开发的应用中的对象可以不依赖于Spring的API
- 控制反转:IOC——Inversion of Control,指的是将对象的创建权交给Spring去创建。使用 Spring之前,对象的创建都是由我们自己在代码中new创建。而使用Spring之后。对象的创建都 是由给了Spring框架。
- 依赖注入:DI——Dependency Injection,是指依赖的对象不需要手动调用setXX方法去设置, 而是通过配置赋值。
- 面向切面编程:Aspect Oriented Programming——AOP
- 容器:Spring是一个容器,因为它包含并且管理应用对象的生命周期
- 组件化:Spring实现了使用简单的组件配置组合成一个复杂的应用。在 Spring 中可以使用XML和 Java注解组合这些对象。
- 一站式:在IOC和AOP的基础上可以整合各种企业应用的开源框架和优秀的第三方类库(实际上 Spring 自身也提供了表述层的SpringMVC和持久层的Spring JDBC)
Spring jar包下载
https://repo.spring.io/libs-release-local/org/springframework/spring/
我们可以打开编程软件IDEA,新建一个项目,在项目目录下创建一个专门放jar包的lib目录,并配置为项目的Library
Spring IOC和DI
IOC 反转控制 是Spring的基础,Inversion Of Control 简单说就是创建对象由以前的程序员自己new 构造方法来调用,变成了交由Spring创建对象
DI 依赖注入 Dependency Inject. 简单地说就是拿到的对象的属性,已经被注入好相关值了,直接使用 即可。
我们去建一个User.java文件,用于演示IOC和DI
接下来配置Spring的核心文件
src目录下新建applicationContext.xml文件,先导入jar包,后创建applicationContext.xml,否则无代码提示
接下来在Main类的main方法中编写测试代码:
Spring 容器会加载配置文件,在加载的同时,Spring 容器会通过无参构造函数对 Bean 进行实例化