SSM-Spring-1-XML配置

1 Spring程序开发步骤

1,使用Maven导入基本jar包

2,编写Dao接口及其实现类

3,创建Spring核心配置文件

4,在Spring配置文件中配置UserDaoBean

5,使用SpringAPI从容器中获取对象

1,在pom.xml文件中新增标签引入Spring的jar包
在这里插入图片描述
2,编写Dao层接口及实现类
在这里插入图片描述
3,创建Spring配置文件

<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.xsd">

</beans>

4,在Spring配置文件中配置UserDao的Bean
在这里插入图片描述
5,从容器中取得UserDao的Bean使用
在这里插入图片描述

2 Spring配置文件

2.1 bean标签的基本配置

<bean id="userDao" class="com.coisini.spring.core.UserDao"></bean>

id: Bean实例在Spring容器中唯一标识,不可重复
class: Bean的全限定名称

2.2 bean标签的范围配置

范围即scope,指对象的作用范围,取值如下:

singleton: 单例,默认值

prototype: 原型,即每次取得的Bean都不相同

request: Web项目中,Spring创建一个Bean对象会存入request域中

session: Web项目中,Spring创建一个Bean对象会存入session域中

global session: Web项目中,用于在Portlet环境
				如果没有Portlet环境那么global session相当于session

后三项需要在其它的地方配置

scope属性中singleton与prototype的区别:

1,scope为singleton时,对象是单例的
在这里插入图片描述
2,scope为prototype时,对象是非单例的,每次取得的Bean都不同
在这里插入图片描述

singleton与prototype创建Bean的时机:

1,scope为singleton时,当Spring配置文件被加载时,Bean就被创建
只要容器在,对象就一直活着
在这里插入图片描述
2,scope为prototype时,getBean时对象才会被创建
当对象长时间不使用,会被GC
在这里插入图片描述

2.3 Bean生命周期配置

init-method: 指定类中的初始化方法名称

destroy-method: 指定类中销毁方法名称

在这里插入图片描述
当为Bean配置好init-method属性和destroy-method后,该Bean被创建时会自动执行对应的初始化方法,被销毁时会自动执行对应的销毁方法
在这里插入图片描述

2.4 Bean实例化三种方式

1,无参构造方法

2,工厂静态方法
class属性使用工厂的全限定名,增加factory-method属性值设为生产Bean的静态方法

3,工厂实例方法
先配置工厂的Bean,再使用factory-bean指明创建Bean的工厂,再使用factory-method设置方法

工厂静态方法:
在这里插入图片描述
工厂实例方法:
在这里插入图片描述

3 依赖注入

在Web工程中,需要Dao层,Service层,Controller层,Controller将会调用Service层提供的方法,而Service层又调用了Dao层的方法进而对数据库进行增删改查,程序最终使用的是UserService,所以可以在Spring容器中,将UserDao设置到UserService中
在这里插入图片描述

3.1 Bean的依赖注入

将UserDao注入到UserService的内部,上层直接使用UserService对象:

1,使用set方法增加property属性完成对UserService的注入
在这里插入图片描述
2,使用p命名空间完成对UserService的注入
需要引入:

xmlns:p="http://www.springframework.org/schema/p"

在这里插入图片描述
3,使用构造方法完成对UserService的注入
在这里插入图片描述

3.2 Bean依赖注入的数据类型

除了可以注入其它的引用的Bean,还可以注入普通数据类型,集合等都可以在容器中进行注入

1,普通数据类型

2,引用数据类型

3,集合数据类型

1,普通数据类型的注入:
在这里插入图片描述
2,集合数据类型的注入:
在这里插入图片描述

3.3 引入其它配置文件(分模块开发)

实际开发中,Spring的配置内容非常多,这就导致Spring配置文件很繁杂且体积很大,所以可以将部分配置拆解到其它配置文件中,而在主配置文件中通过import标签进行加载

<import resource="applicationContext.xml"></import>

在这里插入图片描述

4 Spring相应API

4.1 关于ApplicationContext

ApplicationContext的继承体系:
在这里插入图片描述
ApplicationContext接口的实现类:

1ClassPathXMLApplicationContext
从项目根路径下加载配置文件,推荐使用

2FileSystemXMLApplicationContext
从磁盘路径上加载配置文件,配置文件可以在磁盘的任意位置上

3AnnotationConfigApplicationContext
当使用注解配置容器对象时,需要用此类创建Spring容器,用它读取注解

4.2 getBean的使用

在这里插入图片描述
常用getBean(String id)和getBean(Class<?> klass)来从容器中获取Bean,通过id获取Bean允许容器中出现多个相同类不同id的Bean,但通过Class获取Bean,容器中该类的Bean必须是唯一的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值