美文网首页
开始入手spring,IoC容器 理解案例,用户数据验证

开始入手spring,IoC容器 理解案例,用户数据验证

作者: 在路上phper | 来源:发表于2018-02-08 17:23 被阅读10次
image.png
首先来到官网
根据官网知道 使用spring框架 需要加入maven依赖
在pom.xml文件中加入如下
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.3.RELEASE</version>
</dependency>
接下来我们来到spring 5.0参考文档
image.png
这里简单的对spring框架做了概述
下面我们学习一下core里面的IoC容器
来到https://docs.spring.io/spring/docs/5.0.3.RELEASE/spring-framework-reference/core.html#spring-core地址
image.png
IoC容器 可以理解为用容器控制对象的声明周期
使用IoC容器后 可以通过一定的方式(配置文件的方式)把对象之间的控制权交给独立的第三方即容器
容器实际上就是一堆程序 通过反射实现
接下来在程序中使用一下spring的IoC容器
看下下面的需求
image.png
根据需求 我们首先不使用IoC容器方式解决下如何编写代码
1.首先我们在com.jtthink包下面新建一个MySpring的java文件 作为新的启动文件
接下来在com.jtthink下面创建一个SpringLean包
在下面创建一个UserValidateConfig这样一个配置类,专门存放用户名,qq或者其他元素的控制,包括用户验证的规则与方式
代码如下
image.png
接下来创建一个UserService操作业务类
目录如下
image.png
image.png
接下来在MySpring里面做下代码调用
image.png
运行结果
image.png
原因是我们用户名设置了8
接下来修改下
image.png
运行结果
image.png
以上这种代码 当我们配置类代码中属性发生改变时 对它进行依赖的类也会产生变化
这种代码我们要是用IoC容器进行控制反转 整个控制交给第三方处理 让第三方控制这两者(类之间)如何创建 如何产生依赖关系
这就是IoC容器的作用 如果你只有一个类 并且类里面的参数不会发生变化并且没什么依赖关系 那么可以不需要用IoC容器
接下来看下spring中如何对对象进行读取
根据官方文档告诉我们的使用xml的classpath读取相关的配置
接下来在资源文件夹下创建一个myuser.xml文件(选择spring config文件) 这个文件代表我们用户相关的IoC容器配置
image.png
其中bean代表对象 由IoC容器进行实例化 必须有一个class
<bean id="user_config1" class="com.jtthink.SpringBean.UserValidateConfig"></bean>
image.png
这个就是我们的配置类 写完怎么取值呢
根据官方文档知道ApplicationContext为应用程序上下文对象,通过它即可得到我们的对象 这个对象是一个已经创建好的对象
其中applicationContext可以通过很多种方式创建 这节我们使用xml方式创建
下面看下代码
在MySpring中
image.png
运行结果
image.png
结果是0
下面我们修改下myuser.xml配置文件
里面加入property属性 这个就是我们类的属性 可以对类属性赋值和初始化
image.png
MySpring中加入如下
image.png
运行结果
image.png
以上就是使用spring的Ioc容器来得到对象 这个对象是由spring的IoC容器来创建的 不需要通过new的方式来实例化 然后property属性里面为类的初始值 那么这么写有什么作用呢
如果配置文件中有一个bean 那么配置这个容器没什么作用 如果多个bean对象,并有一些依赖关系像下面代码一样
下面修改下myuser.xml配置文件
image.png
以上代码中两个bean对象由IoC容器创建,二者之间的依赖关系通过ref标签进行依赖处理
上面的xml中的配置代码好比之前我们没有通过IoC容器处理两个类之间的依赖关系那段代码
也就是下面这段
image.png
下面我们用代码演示下多个bean对象 使用xml处理依赖关系的便利性
在MySpring.java文件中
image.png
运行结果
image.png
下面在看它有什么方便之处
再次修改myuser.xml
image.png
image.png
再次运行
image.png
抛出异常了 报错用户名不合法 也就是说我们可以不用修改业务代码 利用Ioc容器帮助处理依赖关系

相关文章

网友评论

      本文标题:开始入手spring,IoC容器 理解案例,用户数据验证

      本文链接:https://www.haomeiwen.com/subject/rflgzxtx.html