需求:女生追男生
分析:
定义男生类
定义女生类
使用Spring创建出男生和女生对象
在测试类中实现女生追男生
本例引出DI(依赖注入)
步骤1:创建maven项目
步骤2:导入jar包

步骤3:创建男生女生类

package edu.luas.mediadigit.ioc;public class Man {private String name;public String getName() {return name;}public void setName(String name) {this.name = name;}}
package edu.luas.mediadigit.ioc;public class Woman {private Man man;public Man getMan() {return man;}public void setMan(Man man) {this.man = man;}private String name;public String getName() {return name;}public void setName(String name) {this.name = name;}}

步骤4:安装spring插件
网上取spring安装教程,及其spring插件包

步骤5:创建Spring配置文件

<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>luas</groupId><artifactId>mediadigit</artifactId><version>0.0.1-SNAPSHOT</version><dependencies>//spring安装配置<dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.9.RELEASE</version></dependency>//junit配置<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency></dependencies>
</project>

步骤5:在配置文件中创建男生和女生的对象

<?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"><!--创建一批男生对象-->
<!--spring new的对象相当于Man m1 =new Man();  --><bean id="m1" class="edu.luas.mediadigit.ioc.Man"><!-- property相当于m1.setname(); --><property name="name" value="宋江"></property><bean id="m2" class="edu.luas.mediadigit.ioc.Man"><property name="name" value="张文远"></property></bean><bean id="m3" class="edu.luas.mediadigit.ioc.Man"><property name="name" value="李冲"></property></bean></bean><bean id="wo1" class="edu.luas.mediadigit.ioc.Woman"><property name="name" value="阎惜娇"> </property><property name="man" ref="m1"></property></bean></beans>

步骤6:创建测试类

package edu.luas.mediadigit.text;import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;import edu.luas.mediadigit.ioc.Man;
import edu.luas.mediadigit.ioc.Woman;public class Testioc {@Testpublic void testioc() {ApplicationContext ctx = new ClassPathXmlApplicationContext("ApplicationContext.xml");// Man m1=(Man)ctx.getBean("m1");//ctx包含了四个对象
//       System.out.println("m1是"+m1.getName());Woman wo1 = (Woman) ctx.getBean("wo1");System.out.println(wo1.getName() + "找的人是" + wo1.getMan().getName());}}

重要概念:
*****依赖注入
什么是DI?
DI(Dependency Injection)翻译为依赖注入
DI是spring的核心Ioc的重点知识
解释依赖的含义:
注入的含义:
当某个对象需要另一个对象时,这个对象如何从多个对象中找到另一个对象呢?找到如何将这个找到 对象交给答需要的那个对象呢?:应该去spring中去找,如果找到则将spring容器中的某个对象交给需要的那个对象,这个就是依赖注入。即将找到的对象注入给需要的对象。
例如

<bean id="wo1" class="edu.luas.mediadigit.ioc.Woman"><property name="name" value="阎惜娇"></property><property name="man" ref="m2"></property>
</bean>

就实现了将m1对象注入给wo1对象的man属性。(这里要在Moman中创建man对象呦)
spring的IoC和DI的区别
行业中从业人员的观点1:IoC就是DI,认为是一个意思的两种说法。
行业中从业人员的观点2:这两不是一个意思,认为IoC是创建对象,DI是将创建的对象注入给需要改对象的对象,也就是说IoC是new对象,DI是使用对象。

代码演示使用Spring框架相关推荐

  1. java邮件模板代码_Java的Spring框架中实现发送邮件功能的核心代码示例

    Spring中已经封装了邮件操作类,通过spring配置文件可以便捷地注入到controller.action等地方. 下面是配置: p:host="${mail.host}" p ...

  2. 什么是spring框架?spring框架到底有什么用?spring框架到底做了些什么?

    什么是spring框架,spring框架究竟有什么用呢?我们可以用spring框架来做些什么呢?这是我今天要说的内容. 当然,百度spring框架会出现一大堆spring框架的介绍,以及IOC和AOP ...

  3. 手写代码,简单实现Spring框架

    Java核心编程高阶实战案例:MySpring 本博文通过学习 中国大学MOOC 平台上陈良育老师讲的 Java核心技术(高阶) 课程,因为老师视频中的讲解有些较为简略,于是我自己另外搜集资料,从老师 ...

  4. 超轻量级DI容器框架Google Guice与Spring框架的区别教程详解及其demo代码片段分享...

    超轻量级DI容器框架Google Guice与Spring框架的区别教程详解及其demo代码片段分享 DI框架 Google-Guice入门介绍 转载于:https://www.cnblogs.com ...

  5. Python Web框架Tornado的异步处理代码演示样例

    1. What is Tornado Tornado是一个轻量级但高性能的Python web框架,与还有一个流行的Python web框架Django相比.tornado不提供操作数据库的ORM接口 ...

  6. Spring 框架基础(03):核心思想 IOC 编程说明,案例演示

    本文源码:GitHub·点这里 || GitEE·点这里 一.IOC控制反转 1.IOC容器思想 Java系统中对象耦合关系十分复杂,系统的各模块之间依赖,微服务模块之间的相互调用请求,都是这个道理. ...

  7. spring mvc后端代码实现弹出对话框_伟源|一图搞定Spring框架

    很多朋友都问济宏同学,现在流行的Java到底是什么鬼?如何快速入门,快速上手? 济宏同学也在网上找了很多文章,但是没有一个文章能说得清楚.所以,济宏同学只好通过脑图方式,给小白们给一个Java现在最流 ...

  8. Vackbot已覆盖 |【漏洞通告】Spring框架远程代码执行漏洞

    漏洞描述 近日,墨云科技监测到Spring框架中存在远程代码执行漏洞,在JDK 9及以上版本环境下,攻击者通过构造恶意的请求修改中间件的日志文件,从而实现远程代码执行. 由于该漏洞的严重性,建议使用S ...

  9. Spring 框架远程代码执行漏洞(CVE-2022-22965)

    01 影响范围: Spring Framework < 5.3.18 Spring Framework < 5.2.20 及其衍生产品 JDK ≥ 9 JRE ≥ 9 02 前置知识: 1 ...

最新文章

  1. 特斯拉超级计算机Dojo
  2. 知识图谱升温之势已现,不要错失下一个AI风口
  3. 开源引领的万亿级市场,该如何打造出成功的商业模式?
  4. JS判断是否是移动设备进行http链接重定向
  5. The return types for the following stored procedures could not be detected
  6. P2756 飞行员配对方案问题【网络流24题】
  7. 什么是JavaServer Faces(JSF)–(第2部分)
  8. Linux设备驱动模型1——简介和底层架构
  9. pdf python定位_如何使用PyPDF2获取PDF定位
  10. transform中的token理解(单词或词语的标记)
  11. MongoDB两阶段提交实现事务
  12. 机器学习利器——决策树和随机森林
  13. ZigBee Z-Stack 2.04 IAR软件版本
  14. Mathematica 13 for Mac(科学计算软件)
  15. PS2小车—舵机基本原理
  16. 基于springboot,vue旅游信息推荐系统
  17. 月薪11970元的网络运维工程师需要掌握哪些必备技能?
  18. 中文的括号和英文的括号区别_工具推荐 含笔顺及英文的汉字书写练习纸
  19. 74HC02或非门仿真示例
  20. 浪潮集团执行总裁王洪添一行莅临柏睿数据公司商讨战略合作

热门文章

  1. uniapp无法唤起相机的避坑之旅(安卓10以上,以及鸿蒙手机)
  2. BUUCTF~Misc~Test3
  3. 真正可以免费使用的员工电脑监控软件
  4. 万物智联,美格智能NB-IoT模组助力智慧防疫,防患于“未燃”
  5. 2007上半年微软武汉.NET俱乐部活动预告。
  6. 角位移传感器 AS5040
  7. 系统配置:CentOS关闭交换空间
  8. msvcp110.dll丢失修复问题,哪种方便比较靠谱?
  9. 全球最有意思的传感器公司都有哪些?
  10. Jenkins:(看起来挺好看的)邮件模板样式