专注Java教育14年 全国咨询/投诉热线:444-1124-454
赢咖4LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 配置Spring的方法

配置Spring的方法

更新时间:2021-06-16 12:01:03 来源:赢咖4 浏览989次

1.关于spring概念的理解

(1)spring可以看做是项目的管家,负责管理项目中的所有对象(包括web层,service层和dao层)。

(2)spring一站式框架:spring跨年性质是属于容器性质的,它之所以能够处理请求,是因为容器中装了处理请求的对象,容器中装了什么对象它就具备什么功能,所以称之为一站式。

(3)spring的核心是IOC反转控制和AOP面向切面

(4)spring不排斥任何开源框架,并且能够帮助其他框架管理对象

spring中IOC和DI的概念

ioc 反转控制 就是将我们创建对象的方式反转了 以前对象的创建时由开发人员自己维护 包括依赖关系也是自己注入 学习spring之后 对象的创建以及依赖关系可以由spring完成创建和注入 反转控制也就是反转了对象的创建方式 从人们自己到由spring自己进行

di 比IOC概念要小一些 Dependency Injection 依赖注入

实现IOC思想 DI做支持

注入:set方法注入 构造方法注入 字段注入

注入类型:spring支持值类型和引用类型注入

值类型注入也就是 比如刚才的demo ,user中可以注入具体的名字或者年龄 也就相当于八大基本数据类型

引用类型注入:将依赖的对象注入 比如,将新建的address对象注入到user对象中

BeanFactory和ApplicationContext

BeanFactory接口:最底层的接口,是spring的最原始接口,针对原始接口的实现类,功能较为单一。 BeanFactory接口实现类的特点是,每次在获得对象时才会创建对象

ApplicationContext实现类:ApplicationContext实现类的特点是每次容器启动时就会创建容器中创建的所有对象,除此以外,它还提供了更加丰富的功能。典型的两个ApplicationContext的实现类为:ApplicationContex从类路径下加载配置文件ClassPathXmlApplicationContext . ApplicationContext从硬盘绝对路径下加载配置文件FileSystemXmlApplicationContext 。 在单机情况下通常使用ClassPathXmlApplicationContext . 若使用后者,在硬盘绝对路径下加载,则需要在后面加上括号指明文件的具体路径。

结论上来说:在将来web开发中,使用applicationContext完成,而在资源匮乏的环境中可以使用BeanFactory(资源匮乏:如在手机上)

2.spring搭建步骤

(1)导

(2)创建一个对象让spring装,

创建一个bean包,并在这个包中创建user.java(也就是Javabean),并且创建属性,也就是创建了对象

(3)在src中书写配置,注册对象到容器,书写xml文件,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.2.xsd ">
<bean  name="user" class="cn.itcast.bean.User" ></bean>
<beans>

(4)约束引入,在Windows下面的属性中选择cata,如下图操作

然后将user对象交给spring容器处理

(5)接下来进行代码测试,编写测试类代码Demo.java

package cn.itcast.a_hello;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import cn.itcast.bean.User;
public class Demo {
@Test
public void fun1(){
//1 创建容器对象
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
//2 向容器"要"user对象
User u = (User) ac.getBean("user");
//3 打印user对象
System.out.println(u);
}
}

3.spring配置详解

(1)ApplicationContext.xml中bean元素相关配置各个标签的作用

bean元素:使用该元素描述spring容器管理的对象

name属性:给被管理的对象起个名字,获得对象是根据名称获得对象

class属性:被管理对象的完整类名

ID属性:与name属性一模一样,关于ID的话,名称不可重复,不能使用特殊字符;name属性名称则可以重复,可以使用特殊字符。结论:尽量使用name属性。

1)Bean元素的进阶,scope属性(重点是singleton和prototype):

一般情况下是使用singleton,但是要整合struts2时则要在ActionBean中使用prototype。而request和session属性基本上是用不到的。

singleton(默认值):单例对象,所谓单例对象,就是在spring容器中只会存在一个的实例

prototype属性:多例原型被标记为多例的对象,每次再获得才会创建并且每次创建都是新的对象

request: web环境下,对象与request生命周期一致,也就是每当请求处理完一次,对象将从spring容器中移除

session:web环境下,对象与session生命周期一致

2)Bean元素的进阶,生命周期属性(了解)

生命周期属性,配置一个方法作为生命周期初始化方法,spring会在对象创建之后立即调用(init-method)。也可以配置一个对象作为销毁方法,spring在关闭并销毁所有容器中的对象之前调用(destory-method)

(2)三种对象创建方式

创建方式一:空参构造创建(重点)

配置文件

然后只需在demo.java中编写测试类

创建方式二:静态工厂创建(了解)

配置:

调用UserFactory的createUser方法创建名为user2的对象.放入容器

<bean  name="user2" 
class="cn.itcast.b_create.UserFactory" 
factory-method="createUser" ></bean>

userFactory.Java工厂如下:

最后编写测试类

创建方式三:实例工厂创建(了解)

实例工厂创建和静态工厂创建类似,只是在userFactory.java中,静态工厂使用了static 而实例工厂没有使用static。静态工厂可以直接使用类名完成各项功能的实现,而实例工厂则需要有固定的对象,才可以完成功能的实现。

配置文件:

调用UserFactory对象的createUser2方法创建名为user3的对象.放入容器

UserFactory.java中工厂的编写

接下来就是测试类,测试类同静态方法创建一样。

(3)spring的模块化配置

分模块配置,随着项目的开发,文件越来越多,可能吧所有对象都放一个配置文件里面太多,于是可以再一个主配置文件中引入其他配置文件,导入其他配置文件关键词:

(4)spring属性注入(set方式)

spring属性注入方式一共有四种:set方法注入;构造函数注入;p名称空间注入;spel注入;其中后两种作为了解,前两种作为掌握。

1)set方式注入,以下为其在配置文件中的操作,具体还需建立user和car的bean。并得到他们的get set 以及toString方法

2)构造函数注入

3)p名称空间注入(可以简化property那种繁琐的注入)

4)spel注入(Spring Expression Language 也就是Spring表达式语言)

以上就是赢咖4小编介绍的"配置Spring的方法",希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为您服务。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>