SpringIOC框架的简单实现步骤

作者:Lachlan_Yang 时间:2021-10-28 21:44:35 

目录
  • 简单介绍

  • 具体实现

  • 首先,咱们先配置一下相关的jar包(pom.xml)

  • 创建一个Pet接口,存放方法say()

  • 创建一个Person类

  • 创建一个Dog类,继承Pet接口

  • 重点来了,配置applicationContext.xml

  • 总结

简单介绍

依赖注入( Dependency Injection ,简称 DI) 与控制反转 (IoC) 的含义相同,只不过这两个称呼是从两个角度描述的同一个概念,具体如下:

  • 依赖:bean对象的创建依赖于容器。

  • 注入:bean对象中的所有属性,由容器来注入。

  • 控制反转(IoC:依赖注入的另一种说法是“控制反转”,通俗的理解是:平常我们new一个实例,这个实例的控制权是我们程序员,而控制反转是指new实例工作不由我们程序员来做而是交给spring容器来做

依赖注入可以有效的解耦合。

具体实现

有两种实现的方法,一种是配置xml文件来实现,另一种是通过参数实现,来,找个简单的例子让咱们上手试一试。(Intellij IDEA 2020)

首先,咱们先配置一下相关的jar包(pom.xml)


    <dependency>
           <groupId>junit</groupId>
           <artifactId>junit</artifactId>
           <version>4.13.1</version>
           <scope>test</scope>
       </dependency>
       <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-context</artifactId>
           <version>5.3.5</version>
       </dependency>

创建一个Pet接口,存放方法say()


   public interface Pet {
   void say();
}

创建一个Person类


   public class Person {
   private String name;
   private Pet pet;

public void setName(String name) {
       this.name = name;
   }

public void setPet(Pet pet) {
       this.pet = pet;
   }

public void keepPet() {
       System.out.println(name + " 比" + pet + " 可爱,因为它会说");
       pet.say();
   }
}

创建一个Dog类,继承Pet接口


public class Dog implements Pet{
   private String name;

public void setName(String name) {
       this.name = name;
   }

@Override
   public String toString() {
       return name;
   }
   public void say(){
       System.out.println("WangWang");
   }
}

重点来了,配置applicationContext.xml


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
   <bean id="dog" class="Ex_04.Dog">
       <property name="name" value="哈士奇"></property>
   </bean>
   <bean id="person" class="Ex_04.Person">
       <property name="name" value="拉布拉多"></property>
       <property name="pet" ref="dog"></property>
   </bean>
</beans>
  • bean中class为你所创建的包的地址,即Dao层,Service层的地址,为了方便我将其放在一起。

  • 为给dog类中name属性赋值哈士奇。

  • 元素value属性为一个具体的值,ref为引用,该代码中“ ref="dog" ”对应的是dog类的属性name,相当于new,此处可以体现解耦合。

基本类已创建完毕,让我们来创建一个实现类

输出结果为:拉布拉多 比哈士奇 可爱,因为它会说WangWang

总结

以上就就是以xml文件实现SpringIOC框架,如有错误,麻烦指出,感谢耐心到现在的朋友

来源:https://www.cnblogs.com/LaChlanYang/p/14690344.html

标签:SpringIOC
0
投稿

猜你喜欢

  • java实现打印正三角的方法

    2022-05-16 21:14:01
  • SpringBoot JPA使用配置过程详解

    2022-12-03 15:31:33
  • kotlin源码结构层次详解

    2022-08-19 14:24:48
  • java9版本特性资源自动关闭的语法增强

    2023-10-30 23:35:24
  • Android表格自定义控件使用详解

    2023-12-23 23:35:36
  • Idea2020.2创建JavaWeb项目(部署Tomcat)方法详解

    2023-11-02 13:29:52
  • C#实现rabbitmq 延迟队列功能实例代码

    2023-03-18 02:59:34
  • Netty与NIO超详细讲解

    2022-08-16 00:44:37
  • 2020JDK1.8安装教程详解(一次就可安装成功)

    2023-11-28 04:08:58
  • ios百度地图的使用(普通定位、反地理编码)

    2023-07-03 15:26:17
  • Java启用Azure Linux虚拟机诊断设置

    2022-06-28 05:42:51
  • 将文件夹下所有文件输出到日志文件中 c#递归算法学习示例

    2023-04-08 20:36:22
  • 5种方法完美解决android软键盘挡住输入框方法详解

    2021-10-31 17:31:38
  • 教你怎么用Java操作Redis

    2023-07-07 22:17:53
  • Java基础学习之构造方法详解

    2021-06-16 16:25:53
  • 详解Java实现数据结构之并查集

    2023-09-05 08:47:06
  • .NET中的async和await关键字使用及Task异步调用实例

    2021-09-06 03:37:41
  • 给c#添加SetTimeout和SetInterval函数

    2021-07-02 00:58:08
  • C#客户端程序Visual Studio远程调试的方法详解

    2022-10-20 19:13:54
  • Android实现滑动效果

    2022-09-20 15:04:24
  • asp之家 软件编程 m.aspxhome.com