使用Spring来创建对象

在Spring这些都称为Bean

老式:

 类型变量名= new类型();
Hello heLLo = new HeLLo();

spring:
id =变量名
cLass = new的对象;
property 相当于给对象中的属性设置一个值

新式

<bean id="mysqlImpl" class="com.dao.UserDaoMysqlImpl"/><bean id="UserServiceImpl" class="com.service.UserServiceImpl">
<!--        ref :引用Spring容器中创建好的对象value :具体的值,基本数据类型!
--><property name="userDao" ref="mysqlImpl"/>

IOC创建对象的类型

1.使用无参构造创建对象,默认!

<bean id="user" class="com.pojo.User"><property name="name"  value="狂徒张三"/></bean>

2.假设我们要使用有参构造创建对象。

1.下标赋值
<bean id="user" class="com.pojo.User"><!-- 有参函数,下标赋值--><constructor-arg index="0" value="下标赋值"/></bean>

2.类型赋值(不建议使用)

<bean id="user" class="com.pojo.User"><constructor-arg type="java.lang.String" value="类型赋值"/></bean>
3.直接通过参数名设置
<bean id="user" class="com.pojo.User"><constructor-arg name="name"  value="狂徒张三"/></bean>

========================================================

设置别名:

<alias name="user" alias="userDDDD"/>

导入XML

<import resource="beam1.xml"/>

Set方式注入【重点】

依赖注入:Set注入!
依赖: bean对象的创建依赖于容器!
注入: bean对象中的所有属性,由容器来注入!

多种注入方式

  <bean id="address" class="com.pojo.Address"><property name="address" value="武汉"/></bean><bean id="student" class="com.pojo.Student"><!--        普通注入,value--><property name="name"  value="狂徒张三"/><!--        beam注入,ref--><property name="address" ref="address"/><!--        数组注入--><property name="book"><array><value>热风</value><value>且介亭杂文</value><value>而已集</value><value>孔乙己</value></array></property><!--        集合list注入--><property name="habit"><list><value>听歌</value><value>写作</value><value>游泳</value><value>摸鱼</value></list></property><!--        map注入--><property name="cord"><map><entry key="身份证" value="1111111111111"/><entry key="手机号" value="1888888888"/></map></property><!--        set注入--><property name="games"><set><value>LOL</value><value>GTA</value><value>DNF</value><value>CF</value></set></property><!--        string注入-->
<!--        <property name="wife" value=""/>--><property name="wife"><null/></property><!--        property注入--><property name="info"><props><prop key="学号">20200000</prop><prop key="班级">1800</prop><prop key="score">80</prop></props></property></bean>

P命名空间注入-------------使用无参构造

在配置里加

 xmlns:p="http://www.springframework.org/schema/p"

beam里:

<!--        命名空间P注入--><bean id="user" class="com.pojo.User" p:age="18" p:name="狂徒张三"/>

================================================================================

C命名空间注入--------------------需要有参构造

xmlns:c="http://www.springframework.org/schema/c"

beam的作用域

代理模式:

1.-单例模式(Spring默认机制)--只
<bean id="user" class="com.pojo.User" p:age= "18" p:name="狂徒张三" scope="singleton"/>2.原型模式---每一次从容器中get的时候,都会产生新的对象
<bean id="user" class="com.pojo.User" p:age= "18" p:name="狂徒张三" scope="prototype"/>

spring学习笔记05(狂神学习笔记)-IOC小结相关推荐

  1. 狂神mysql笔记 md_MyBatis狂神总结笔记

    MyBatis狂神总结笔记 简介 分享自写源码和笔记 配置用的 jdk13.0.2 (jdk1.7以上均可) Maven 3.6.3 MySQL 5.7 (mysql5.6以上均可) 1. 配置 po ...

  2. 周学习进度---05

    周学习进度 --05 周学习进度05 第15周 所花时间: 120min+60min+120min 代码量(行) 300 博客量(篇) 2篇个人博客+2篇团队博客 了解到的知识 css的相关知识 用户 ...

  3. SpringMVC(狂神学习笔记)2021-10-5

    注意:本笔记是在学习狂神的视频教程的记录 1.回顾MVC 1.1.什么是MVC MVC是模型(Model).视图(View).控制器(Controller)的简写,是一种软件设计规范. 是将业务逻辑. ...

  4. Spring5(引用-->狂神学习笔记)2021-08

    狂神学习笔记 Spring5 1.Spring 1.1 简介 2002,首次推出Spring框架的雏形;interface21框架 Spring框架以interface21框架为基础,2004年发布1 ...

  5. JavaWeb(引用-->狂神学习笔记)2021-08

    狂神学习笔记 1.基本概念(①) 1.1 前言 web开发: web,网页的意思,www.baidu.com· 静态web html,css 提供给所有人看的数据始终不会发生变化! 动态web 淘宝, ...

  6. JavaWeb黑马旅游网-学习笔记05【分类数据展示功能】

    Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...

  7. JavaWeb-综合案例(用户信息)-学习笔记05【分页查询功能】

    Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb-综合案例(用户信息)-学习笔记01[列表查询] JavaWeb-综合案例(用户信息)-学习笔记02[登录功能] JavaWeb-综合案 ...

  8. JavaScript学习笔记05【高级——DOM对象】

    w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...

  9. MySQL学习笔记05【多表操作、三大范式、数据库的备份和还原】

    MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...

  10. spring cloud Alibaba 的 Nacos学习笔记

    spring cloud Alibaba 的 Nacos学习笔记 文章目录 spring cloud Alibaba 的 Nacos学习笔记 下载nacos spring cloud Alibaba依 ...

最新文章

  1. Python的闭包和装饰器
  2. python知识点 07-11
  3. java rmi 使用方法
  4. MySQL时间戳(毫秒/秒)与日期格式的相互转换
  5. 阿里妈妈首次公开新一代自研智能检索模型 | WWW 2018论文解读
  6. 11个笑话让你领悟人生
  7. A/B HDU - 1576 (逆元或拓展欧几里得或数学公式)多解法求大数结果
  8. redis java连接出错_redis连接错误与spring boot
  9. 【Java数据结构与算法】第九章 顺序查找、二分查找、插值查找和斐波那契查找
  10. PHP自动加载下——PSR4
  11. log4j + flume 1.6 集成
  12. Solidworks如何在自定义的基准面上创建3D草图
  13. 进阶程序员都不会急于学习编程语言,知道原因吗?
  14. SHEL脚本中调用另外一个脚本的函数和变量
  15. 点云应用于电力行业助力输配电安全距离检测分析以及精细化巡检
  16. 使用HttpClient和OkHttp实现模拟登录方正教务系统
  17. csm和uefi_是否应该使用UEFI或BIOS(旧版/ CSM)引导模式安装操作系统?[重复]
  18. 【神经网络分类器】(三)深度学习发展史——从深度信念网络到AlexNet
  19. 解决VMware下Win10主机和win7虚拟机实现文件共享问题
  20. This License XXX has been cancelled

热门文章

  1. 微信小程序之侧栏分类
  2. 14天精通TCPIP(持续更新中)-2
  3. 如何解决MySQL安装出现“此产品的配置信息已损坏,请联系专业人员技术支持”问题
  4. 计算机无法识别手机咋解决,我电脑不能识别手机USB端口。怎么办?
  5. 时间戳转换年,月,天,小时,分钟
  6. 某个网站(比如CSDN、GitHub)突然打开、加载很慢,有些途径访问正常、其他网站访问正常,可尝试指定域名服务器的IP地址,不走DNS查询。
  7. UVM中打印格式及其控制方法
  8. 影响算法世界的十位大师
  9. 一起学python爬虫第二天
  10. 改注册表实现解禁部分系统功能