代码演示使用Spring框架
需求:女生追男生
分析:
定义男生类
定义女生类
使用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框架相关推荐
- java邮件模板代码_Java的Spring框架中实现发送邮件功能的核心代码示例
Spring中已经封装了邮件操作类,通过spring配置文件可以便捷地注入到controller.action等地方. 下面是配置: p:host="${mail.host}" p ...
- 什么是spring框架?spring框架到底有什么用?spring框架到底做了些什么?
什么是spring框架,spring框架究竟有什么用呢?我们可以用spring框架来做些什么呢?这是我今天要说的内容. 当然,百度spring框架会出现一大堆spring框架的介绍,以及IOC和AOP ...
- 手写代码,简单实现Spring框架
Java核心编程高阶实战案例:MySpring 本博文通过学习 中国大学MOOC 平台上陈良育老师讲的 Java核心技术(高阶) 课程,因为老师视频中的讲解有些较为简略,于是我自己另外搜集资料,从老师 ...
- 超轻量级DI容器框架Google Guice与Spring框架的区别教程详解及其demo代码片段分享...
超轻量级DI容器框架Google Guice与Spring框架的区别教程详解及其demo代码片段分享 DI框架 Google-Guice入门介绍 转载于:https://www.cnblogs.com ...
- Python Web框架Tornado的异步处理代码演示样例
1. What is Tornado Tornado是一个轻量级但高性能的Python web框架,与还有一个流行的Python web框架Django相比.tornado不提供操作数据库的ORM接口 ...
- Spring 框架基础(03):核心思想 IOC 编程说明,案例演示
本文源码:GitHub·点这里 || GitEE·点这里 一.IOC控制反转 1.IOC容器思想 Java系统中对象耦合关系十分复杂,系统的各模块之间依赖,微服务模块之间的相互调用请求,都是这个道理. ...
- spring mvc后端代码实现弹出对话框_伟源|一图搞定Spring框架
很多朋友都问济宏同学,现在流行的Java到底是什么鬼?如何快速入门,快速上手? 济宏同学也在网上找了很多文章,但是没有一个文章能说得清楚.所以,济宏同学只好通过脑图方式,给小白们给一个Java现在最流 ...
- Vackbot已覆盖 |【漏洞通告】Spring框架远程代码执行漏洞
漏洞描述 近日,墨云科技监测到Spring框架中存在远程代码执行漏洞,在JDK 9及以上版本环境下,攻击者通过构造恶意的请求修改中间件的日志文件,从而实现远程代码执行. 由于该漏洞的严重性,建议使用S ...
- Spring 框架远程代码执行漏洞(CVE-2022-22965)
01 影响范围: Spring Framework < 5.3.18 Spring Framework < 5.2.20 及其衍生产品 JDK ≥ 9 JRE ≥ 9 02 前置知识: 1 ...
最新文章
- 特斯拉超级计算机Dojo
- 知识图谱升温之势已现,不要错失下一个AI风口
- 开源引领的万亿级市场,该如何打造出成功的商业模式?
- JS判断是否是移动设备进行http链接重定向
- The return types for the following stored procedures could not be detected
- P2756 飞行员配对方案问题【网络流24题】
- 什么是JavaServer Faces(JSF)–(第2部分)
- Linux设备驱动模型1——简介和底层架构
- pdf python定位_如何使用PyPDF2获取PDF定位
- transform中的token理解(单词或词语的标记)
- MongoDB两阶段提交实现事务
- 机器学习利器——决策树和随机森林
- ZigBee Z-Stack 2.04 IAR软件版本
- Mathematica 13 for Mac(科学计算软件)
- PS2小车—舵机基本原理
- 基于springboot,vue旅游信息推荐系统
- 月薪11970元的网络运维工程师需要掌握哪些必备技能?
- 中文的括号和英文的括号区别_工具推荐 含笔顺及英文的汉字书写练习纸
- 74HC02或非门仿真示例
- 浪潮集团执行总裁王洪添一行莅临柏睿数据公司商讨战略合作