步骤:
- 导包
- 四个核心包:
- 日志包:由于市场上已经有更好的日志包,所以spring不用自己的,而是用apache的日志。
- 搞对象
由于spring是用来装对象的容器,所以得搞个对象让它装
- 书写配置文件注册对象到容器
建议命名为applicationContext.xml
并且放在src
目录下。
- 导入约束
- 将对象交给容器管理
在配置文件中书写以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd">
<!-- 将对象交给容器管理 -->
<bean name="user" class="com.fei.bean.User"></bean>
</beans>
public void fun1() {
// 1创建容器对象
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
// 2向容器要存储的对象
User user = (User) ac.getBean("user");
// 3打印user
System.out.println(user);
}
BeanFactory接口和ApplicationContext接口
- BeanFactory接口特点:
- spring的原始接口,针对原始接口的实现类功能比较单一
- BeanFactory接口实现类的容器,特点是每次在获得对象时才会创建对象
- ApplicationContext
- 提供更多功能
- 每次容器启动时就会创建容器中配置的所有对象
- 有两个典型实现类:ClassPathXmlApplicationContext(从类路径下加载配置文件)、FileSystemXmlApplicationContext(从硬盘绝对路径下加载配置文件)
web开发中,使用applicationContext,在资源匮乏的环境(例如移动端)可以使用BeanFactory
<!-- bean元素:使用该元素来描述需要spring容器管理的对象
class属性:被管理对象的完整类名
name属性:给被管理的对象起个名字,获得对象时根据该名称获得对象,可以重复,可以使用特殊字符
id属性:与name属性一样。名称不可重复,不能使用特殊字符(强烈不推荐使用)
结论:强烈推荐尽量使用name属性
-->