1.spring是什么?
spring是一个轻量级的、控制反转(IOC)和面向切面编程(AOP)的容器框架。
2.spring入门程序
2.1.导入jar包
2.2.spring的核心配置文件 applicationContext.xml(默认)
作用:用于配置所有的类(对象),这些类可以称为springBean
2.3.spring的核心类:ApplicationContext(接口)
作用:创建或是获取springBean.
3.IOC
控制反转:把对象的创建、初始化、销毁等工作权利交给spring容器, 让spring容器来管理这些对象的生命周期。
IOC不是一种技术,而是一种思想 面向对象编程的思想,可以设计出松耦合度、优良的程序
包括:依赖注入DI(IOC的核心)、依赖查找
<!--class:对应的类
id:唯一的标识
等同于
Person p=new Person();-->
<bean id="person" class="cn.bean.Person"></bean>
4.spring的注入
当实例化某个对象的时候由外部容器来设置这个对象的值
属性值的注入,一定有对应的setter方法
<!-- 注入的案例,注入时,属性必须有setter方法 -->
<bean id="user" class="cn.bean.User">
<!-- property 当前配置的类的属性
name:属性的名字
value:注入的值
ref:指向其他的bean的id
-->
<!-- int类型注入 -->
<property name="age" value="22"></property>
<!-- String类型注入 -->
<property name="name" value="张三"></property>
<!-- List类型注入 -->
<property name="list">
<list>
<value>篮球</value>
<value>跑步</value>
</list>
</property>
<!-- map类型注入 -->
<property name="map">
<map>
<entry key="mybatis" value="98"></entry>
<entry key="spring" value="90"></entry>
</map>
</property>
<!-- 注入其他的类
ref:指向其他的bean的id
-->
<property name="car" ref="car"></property>
</bean>
<bean id="car" class="cn.bean.Car">
<!-- 小汽车 -->
<property name="name" value="bmw"></property>
</bean>
5.Bean的作用域
作用域:scope
默认singleton:单例模式。只有一份实例,缺省就是singleton
prototype:原型模式。每次通过spring 容器来获取springBean,容器都会创建一个新的实例进行返回
request:同一请求是同一个实例
session:同一会话是同一实例。