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


猜你喜欢
- 一、泛型简介1.引入泛型的目的了解引入泛型的动机,就先从语法糖开始了解。语法糖语法糖(Syntactic Sugar),也称糖衣语法,是由英
- 本文实例为大家分享了Android 自定义弹窗提示的具体代码,供大家参考,具体内容如下Java文件:private void showSet
- 由于最近公司在开发一款后台与安卓的更新系统,经过再三研究之后,也是选择Mqtt这个目前流行的框架。为了能够让项目运营起来,最终虽说是选择Ac
- 一、重载(Overload)重载是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。每个重载的方法(或者构造函数)都必须有
- SpringCloud 整合ribbon的时候出现了这个问题java.lang.IllegalStateException: No inst
- maven scope provided和runtime例子maven常用的scope有compile,provided,runtime,t
- SpringBoot的具体介绍可以参看其他网上介绍,这里就不多说了,就这几天的学习,个人理解,简而言之: (1)它是Spring的
- Android中RecyclerView点击item展开列表详细内容效果如下:依然是xml文件的设计,使用了两个RelativeLayout
- 序言因为之前在项目中使用看groovy对业务进行一些抽象,效果比较好,过程中踩过一些坑,所以简单记录分享一下自己如何一步一步去实现的为什么用
- 一、idea打包项目第一步点击右边maven第二步点击compile,编译代码,编译成功后(双击运行)第三步点击package,打包代码二、
- Mybatis-plus官网地址:https://baomidou.com/配置mysql在配置文件连接mysqlspring.dataso
- 单元测试是程序员对代码的自测,一般公司都会严格要求单元测试,这是对自己代码的负责,也是对代码的敬畏。一般单元测试都是测试Service层,下
- 基本框架<?xml version="1.0" encoding="utf-8"?>&l
- 1.本系统和现在有的考试系统有以下几种优势:a.和现在有的系统比较起来,本系统有科目、章节、老师、学生、班级等信息的管理,还有批阅试卷查看已
- AppWidgetProvider 用来在HOME页面显示插件实现步骤:1、为AppWidget提供一个元布局文件AppWigdetProv
- 面试官经常喜欢问Spring中的bean是不是线程安全的这个问题用来考察对Spring 中Bean作用域的理解,先说结论,Spr
- 本文实例讲述了Android编程之ListView和EditText发布帖子隐藏软键盘功能。分享给大家供大家参考,具体如下:在Android
- 在Material Design里,CoordinatorLayout通常用来作为顶层视图,来协调处理各个子View之间的动作,从而实现各种
- GestureDetectorGestureDetector 是手势识别的组件,可以识别点击、双击、长按事件、拖动、缩放等手势点击事件点击相
- 问题:在Spring Boot中使用JpaRepository的deleteById(ID id)方法删除数据时,首先要使用existsBy