用基础项目来理解spring的作用

简介

spring官方的解释过于专业化,初学者可能比较难懂,接下来我将通过一个最基础的Java项目来尽可能的展示spring中的作用及spring的底层是如何来实现的。

项目结构

该项目是一个简单的JavaSE项目,没有maven或者tomcat等其他。只在控制台进行结果的输出。

首先我分为了四层分别是beans,controller,dao,service以及一个测试类。 

dao层和service层我只做了简单的输出语句,用来表示已经进入了此方法内部。

 现在有两个service层的类,分别是UserServiceImpl和UserServiceImpl01,红色框住是他们各自类中的业务,我们假设此时的业务较多,不只是简单的一个输出语句。在真实的业务中,如果我们想要进行更换service层的实现类,那么我们不仅需要去改此处的代码,并且还要对每一个调用到此service的代码部分都进行统一的修改。此时就会发现我们的工作量很大。最主要的一个原因就是代码的耦合度高,导致许多的代码紧密连接到了一块,不利于后期代码的维护。

那么spring就很好的帮助我们去解决了这样的一个问题,也就是他的依赖注入的一个功能,

  1. 依赖注入 (Dependency Injection, DI):Spring通过IoC容器自动管理对象之间的依赖关系,使得代码解耦,更容易测试。

主要部分演示

我们首先在D盘创建一个txt文件,其内容是我们要调用的某个类的全路径类名,然后通过字符流来读取文件中的内容。当读取完成后,我们就能通过反射的技术,获取到类对象,然后使用newInstance()方法来创建一个对象。之后继续调用service层的方法即可。

之后如果我们想要切换类对象,那么我们只需要修改文件中的内容即可,不需要在去代码中进行修改。这就是spring底层的一个实现原理,也就是反射。使用spring框架后,不用再自己创建要使用的对象了。而是由 Spring 容器统一管理,自动“注入”,注入即赋值。

  • 11
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值