Spring之一

Spring之概述

Spring是分层的JAVA SE/EE应用full-stack轻量级的开源框架,以IOC(反转控制)和AOP(面向切面编程)为内核,提供了web层Spring MVC和dao层Spring JDBC以及service层的事务管理等众多的企业级应用开发技术,还可以整合其他开源的第三方框架和类库,逐渐成为了使用最多的JAVA EE企业应用开源框架。

Spring之体系架构图

在这里插入图片描述

Spring之IOC

IOC,全称 Inverse Of Control,中文名反转控制,这种思想,其目的在于指导我们设计出更加松耦合的程序。
控制:指的是控制权,简单理解为对象的创建权。
反转:指的是对象的控制权由程序员在类中的主动控制反转到Spring容器来控制。

API的介绍

两个接口
BeanFactory

这是Spring容器的顶级接口,它定义了SpringIOC最基本的功能。由于功能比较简单,一般面向Spring自身使用。

ApplicationContext

这是在BeanFactory基础上衍生出来的接口,它扩展了BeanFactory的功能,一般面向程序员使用,ApplicationContext是在容器启动时,一次性创建并加载了所有的Bean。

他们创建的对象都是单例。

三个实现类
ClassPathXmlApplicationContext

读取类路径下的xml作为配置文件

FileSystemXmlApplicationContext

读取本地目录下的xml作为配置文件

AnnotationConfigApplicationContext

读取一个JAVA类作为配置

一个方法
1.使用bean的id作为条件获取对象

		User user = (User) apt.getBean("id");

2.使用bean的class作为条件获取对象

User user = apt.getBean(User.class);

3.使用bean的id和class同时作为条件获取对象

User user = apt.getBean("id",user.class);
bean的作用域

在Spring中, 对于bean支持五种作用域:

singleton(默认) 单例模式, 即对象只创建一次,然后一直存在。
prototype	     多例模式, 即每次获取bean的时候,IOC都给我们创建一个新对象。
request     在web项目中,Spring创建一个bean的对象,将对象存到request域中。
session     在web项目中,Spring创建一个bean的对象,将对象存到session域中。
globalSession  用于分布web开发,创建的实例绑定全局session对象。
bean的生命周期

单例: Spring容器初始化时生,Spring容器关闭时死。
多例: 每一次getBean时生,死不归Spring管,由垃圾回收机制管理。

依赖注入(DI)

依赖注入(Dependency Injection, DI) ,其实就是给对象赋值的过程。
依赖注入有两种方式:构造函数和set方法

构造函数注入方式

构造函数的参数有多少,就需要写多少,不适用于参数值不确定的时候。

<bean id="id" class="全限定类名">
	<constructor-arg name="属性名" value=""/>
</bean>
set方法注入方式(常用)

这种方式可以只添加需要的参数

<bean id="id" class="全限定类名">
	<property name="属性名" value=""/>
</bean>
集合注入的方式

单列集合:list,array,set等等。
< list > < array > < set >标签可以互换使用。

<bean>
	<list>
		<value></value>
	</list>
</bean>

双列集合:map,properties等等。
< map > < props >标签可以互换使用。

<bean>
	<map>
		<entry key="" value=""></entry>
	</map>
</bean>
<bean>
	<props>
		<prop key=""></prop>
	</props>
</bean>

关于配置文件模块化

由于Spring的使用,代码少配置多的情况下,将所有的bean配置到同一个配置文件中,会使得这个文件巨大无比,且维护不方便。
所有,Spring给出了两种解决方案:
1> 同时引入多个配置文件

ApplicationContext apt = new ClassPathXmlApplicationContext("bean1.xml","bean2.xml".....);

2>主从配置
在主配置文件中,使用< import resource=“配置文件”/>添加配置文件
注意:
同一个xml文件中不允许出现相同id的bean
多个xml文件中出现相同id的bean,不会报错,但是后加载的会覆盖前加载的bean,所以企业开发尽量保证id唯一。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JustDoSelf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值