一、什么时spring(容器)?
Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。
◆目的:解决企业应用开发的复杂性
◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能
◆范围:任何Java应用
Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。
简单的来说spring就是一个容器,被称为一站式框架内是因为他是容器,装数据库对象能操作数据库,装service对象能操作service。
二、spring的概念思想。
- IOC(控制反转 >Inversion of Control):
将我们创建对象的权力给spring,由spring帮我们创建好。作用是实现了程序的解耦合。(可以看一下IOC的底层原理实现)。
- DI(依赖注入 > Dependency Injection):
指程序运行过程中,如果需要调用另一个对象协助时,无须在代码中创建被调用者,而是依赖于外部的注入(DI依赖注入详解)。
注入方式:
- set方法注入
- 构造方法注入
- 字段注入(不推荐)
注入类型:
- 值类型注入(java的八大基本数据类型);
- 引用数据类型注入(将依赖对象注入);
三、创建spring项目步骤
1. 创建一个简单的项目
在IDEA中spring框架已经完成了导包的所有操作,核心包(beans.jar,context.jar,core.jar,expression.jar),日志包(commons.longging.jar),老版本包(log4j.jar)。
2. 创建对象
3. 编写配置文件applicationContext.xml(位置任意,通常放在src同目录)
- 创建项目:
- 将javaBean对象交给spring容器管理:
<bean name = "user" class="com.scorpion.bean.User"></bean>
- 测试
四、补充
application&BeanFactory:
1. BeanFactory : spring原始接口,针对原始接口的实现类功能比较单一
BeanFactory接口实现类的容器,特点是每次在获得的对象时才会创建对象
2. applicationContext : 每次启动容器时就会创建容器中配置的所有对象,并提供更多的功能
1——从类路径下加载配置文件ClassPathXmlApplicationContext
2——从硬盘绝对路径下加载配置文件:FileSystemXmlApplicationContext