• Java后端 学习路线 笔记汇总表【黑马程序员】
  1. Spring-学习笔记01【Spring框架简介】【day01】
  2. Spring-学习笔记02【程序间耦合】
  3. Spring-学习笔记03【Spring的IOC和DI】
  4. Spring-学习笔记04【Spring的常用注解】【day02】
  5. Spring-学习笔记05【基于XML的IOC的案例】
  6. Spring-学习笔记06【Spring的新注解】
  7. Spring-学习笔记07【银行转账案例】【day03】
  8. Spring-学习笔记08【面向切面编程AOP】
  9. Spring-学习笔记09【JdbcTemplate的基本使用】【day04】
  10. Spring-学习笔记10【Spring事务控制】

目录

01 Ioc的概念和作用

02 spring中的Ioc前期准备

03 spring基于XML的IOC环境搭建和入门

04 ApplicationContext的三个实现类

05 BeanFactory和ApplicationContext的区别

06 spring中bean的细节之三种创建Bean对象的方式

07 spring中bean的细节之作用范围

08 spring中bean的细节之生命周期

09 spring的依赖注入

10 构造函数注入

11 set方法注入

12 注入集合数据

12.1、Client.java

12.2、bean.xml

12.3、AccountServiceImpl3.java

13 课程知识梳理


01 Ioc的概念和作用

02 spring中的Ioc前期准备

03 spring基于XML的IOC环境搭建和入门

 

 

04 ApplicationContext的三个实现类

05 BeanFactory和ApplicationContext的区别

06 spring中bean的细节之三种创建Bean对象的方式

07 spring中bean的细节之作用范围

全局session

08 spring中bean的细节之生命周期

09 spring的依赖注入

<!-- spring中的依赖注入依赖注入:Dependency InjectionIOC的作用:降低程序间的耦合(依赖关系)依赖关系的管理:以后都交给spring来维护在当前类需要用到其他类的对象,由spring为我们提供,我们只需要在配置文件中说明依赖关系的维护:就称之为依赖注入。依赖注入:能注入的数据:有三类基本类型和String其他bean类型(在配置文件中或者注解配置过的bean)复杂类型/集合类型注入的方式:有三种第一种:使用构造函数提供第二种:使用set方法提供第三种:使用注解提供(明天的内容)-->

10 构造函数注入

11 set方法注入

12 注入集合数据

复杂类型的注入/集合类型的注入
        用于给List结构集合注入的标签:list、array、set
        用于给Map结构集合注入的标签:map、props
        结构相同,标签可以互换

12.1、Client.java

package com.itheima.ui;import com.itheima.service.IAccountService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;/*** 模拟一个表现层,用于调用业务层*/
public class Client {/*** @param args*/public static void main(String[] args) {//1.获取核心容器对象ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");//2.根据id获取Bean对象// IAccountService as  = (IAccountService)ac.getBean("accountService");// as.saveAccount();// IAccountService as  = (IAccountService)ac.getBean("accountService2");// as.saveAccount();IAccountService as = (IAccountService) ac.getBean("accountService3");as.saveAccount();}
}

12.2、bean.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/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><!-- spring中的依赖注入依赖注入:Dependency InjectionIOC的作用:降低程序间的耦合(依赖关系)依赖关系的管理:以后都交给spring来维护在当前类需要用到其他类的对象,由spring为我们提供,我们只需要在配置文件中说明依赖关系的维护:就称之为依赖注入。依赖注入:能注入的数据:有三类基本类型和String其他bean类型(在配置文件中或者注解配置过的bean)复杂类型/集合类型注入的方式:有三种第一种:使用构造函数提供第二种:使用set方法提供第三种:使用注解提供(明天的内容)--><!--1、构造函数注入:使用的标签:constructor-arg标签出现的位置:bean标签的内部标签中的属性type:用于指定要注入的数据的数据类型,该数据类型也是构造函数中某个或某些参数的类型index:用于指定要注入的数据给构造函数中指定索引位置的参数赋值,索引的位置是从0开始name:用于指定给构造函数中指定名称的参数赋值(常用的)=============以上三个用于指定给构造函数中哪个参数赋值==========================value:用于提供基本类型和String类型的数据ref:用于指定其他的bean类型数据,它指的就是在spring的Ioc核心容器中出现过的bean对象优势:在获取bean对象时,注入数据是必须的操作,否则对象无法创建成功。弊端:改变了bean对象的实例化方式,使我们在创建对象时,如果用不到这些数据,也必须提供。--><bean id="accountService" class="com.itheima.service.impl.AccountServiceImpl"><constructor-arg name="name" value="泰斯特"></constructor-arg><constructor-arg name="age" value="18"></constructor-arg><constructor-arg name="birthday" ref="now"></constructor-arg></bean><!-- 配置一个日期对象 --><bean id="now" class="java.util.Date"></bean><!--2、set方法注入(更常用的方式)涉及的标签:property出现的位置:bean标签的内部标签的属性:name:用于指定注入时所调用的set方法名称value:用于提供基本类型和String类型的数据ref:用于指定其他的bean类型数据。它指的就是在spring的Ioc核心容器中出现过的bean对象优势:创建对象时没有明确的限制,可以直接使用默认构造函数弊端:如果有某个成员必须有值,则获取对象是有可能set方法没有执行--><bean id="accountService2" class="com.itheima.service.impl.AccountServiceImpl2"><property name="name" value="TEST"></property><property name="age" value="21"></property><property name="birthday" ref="now"></property></bean><!-- 3、复杂类型的注入/集合类型的注入用于给List结构集合注入的标签:list、array、set用于给Map结构集合注入的标签:map、props结构相同,标签可以互换--><bean id="accountService3" class="com.itheima.service.impl.AccountServiceImpl3"><property name="myStrs"><set><value>AAA</value><value>BBB</value><value>CCC</value></set></property><property name="myList"><array><value>AAA</value><value>BBB</value><value>CCC</value></array></property><property name="mySet"><list><value>AAA</value><value>BBB</value><value>CCC</value></list></property><property name="myMap"><props><prop key="testC">ccc</prop><prop key="testD">ddd</prop></props></property><property name="myProps"><map><entry key="testA" value="aaa"></entry><entry key="testB"><value>BBB</value></entry></map></property></bean></beans>

12.3、AccountServiceImpl3.java

package com.itheima.service.impl;import com.itheima.service.IAccountService;import java.util.Arrays;
import java.util.List;
import java.util.Properties;
import java.util.Set;
import java.util.Map;/*** 账户的业务层实现类*/
public class AccountServiceImpl3 implements IAccountService {private String[] myStrs;private List<String> myList;private Set<String> mySet;private Map<String, String> myMap;private Properties myProps;public void setMyStrs(String[] myStrs) {this.myStrs = myStrs;}public void setMyList(List<String> myList) {this.myList = myList;}public void setMySet(Set<String> mySet) {this.mySet = mySet;}public void setMyMap(Map<String, String> myMap) {this.myMap = myMap;}public void setMyProps(Properties myProps) {this.myProps = myProps;}public void saveAccount() {System.out.println(Arrays.toString(myStrs));System.out.println(myList);System.out.println(mySet);System.out.println(myMap);System.out.println(myProps);}
}

13 课程知识梳理

今日重点:

  1. spring的ioc到底能解决什么问题;
  2. 如何搭建spring的基于xml的ioc开发环境;
  3. 如何使用spring注入实现类之间依赖关系的维护。

Spring-学习笔记03【Spring的IOC和DI】相关推荐

  1. JavaEE——Spring学习笔记03【AOP开发】

    JavaEE--Spring学习笔记01[Ioc开发的模式] JavaEE--Spring学习笔记02[Spring和Mybatis的整合] JavaEE--Spring学习笔记03[AOP开发] J ...

  2. spring学习笔记(spring概述和IOC)

    spring5 1.spring的概述 1.1.spring是什么 Spring 是于 2003 年兴起的一个轻量级的 Java 开发框架,它是为了解决企业应用开发的复杂性而创建的. Spring 的 ...

  3. Spring学习笔记 之 Spring<全>

    开始学习Spring全家桶 文章目录 1. IoC 定义 为什么叫控制反转? 实现 IoC 容器创建 bean 的两种⽅式 IoC DI 特殊字符的处理 Spring 中的bean创建类型 -- sc ...

  4. Spring学习(1)之IoC和Di

    文章目录 1.Spring 1.1简介 1.2优点与缺点: 1.3组成: 1.4提前知识: 2.IoC的本质 2.1IoC创建对象的方式: 3.Spring中xml文件中的属性的配置 3.1别名 3. ...

  5. Spring学习笔记之Spring Web Flow

    Spring Web Flow 是Spring MVC 的扩展,它支持开发基于流程的应用程序.它将流程的定义与实现流程行为的类和视图分离开来. 1.配置Web Flow 在Spring MVC上下文定 ...

  6. spring学习笔记 -- day02 spring基础、IOC控制反转

    一:srping的介绍 1.spring的体系结构 2.spring资源 a.spring-framework-4.2.4.RELEASE:Spring Framework的官方发行包 b.sprin ...

  7. 【Spring学习笔记】之【3.3 DI的深入 二】

    3.3.4  依赖检查 上一节介绍的自动装配,很可能发生没有匹配的Bean进行自动装配,如果此种情况发生,只有在程序运行过程中发生了空指针异常才能发现错误,如果能提前发现该多好啊,这就是依赖检查的作用 ...

  8. Spring学习笔记:Spring整合Mybatis(mybatis-spring.jar)(二:mybatis整合spring)

    http://blog.csdn.net/qq598535550/article/details/51703190 二.Spring整合mybatis其实是在mybatis的基础上实现Spring框架 ...

  9. JavaEE——Spring学习笔记01【Ioc开发的模式】

    JavaEE--Spring学习笔记01[Ioc开发的模式] JavaEE--Spring学习笔记02[Spring和Mybatis的整合] JavaEE--Spring学习笔记03[AOP开发] J ...

  10. 【spring学习】03

    [spring学习]03 Spring注解开发 spring集成junit Spring注解开发 spring集成junit

最新文章

  1. 基于node.js的压缩合并安装
  2. javascript算法题:求任意一个1-9位不重复的N位数在该组合中的大小排列序号
  3. Winform 三层架构小例子
  4. 解题报告:hdu1248寒冰王座 - 完全背包模板
  5. 机器人图形变变变_幼儿园中班公开课数学教案《图形变变变》含反思
  6. Linux C基础笔记(4)终结篇
  7. 用python和sympy库解决方程组问题_使用Python的SymPy库解决数学运算问题的方法
  8. pandas的离散化,面元划分
  9. 如何将视频文件转为图片
  10. 所谓区块链,信息化的族谱而已——简单区块链python代码示例
  11. java限制ip登陆次数_手把手教你自定义IP访问次数限制器
  12. 怎样使用1M的内存排序100万个8位数
  13. Threejs实现模拟管道液体流动
  14. python 批量处理图片文件(做到图片不变形)
  15. 【无标题】excel中query编辑器修改数据类型、第一行做标题、计算行数
  16. 计网实验七:应用层协议服务配置(DNS,HTTP,FTP)
  17. 计算机视觉学习笔记(一)
  18. Linux系统根目录详解
  19. 别再付费了!霸屏朋友圈的“蚂蚁呀嘿”视频教程大公开
  20. e2esoft VCam推流时推送声音

热门文章

  1. python支持什么操作方式_python模拟点击常用的操作方法有哪些?
  2. IDM下载速度慢解决方案全网搜集持续更新
  3. 7系列mrcc xilinx_XILINX 7系列FPGA_时钟篇
  4. 10你当前无权访问该文件夹_「文件保密小技巧」教你创建一个别人打不开也无法删除的文件夹...
  5. Hadoop学习很好的书籍,理论和代码都有
  6. 从4篇论文看Transformer的局部信息建模
  7. 将“softmax+交叉熵”推广到多标签分类问题
  8. 基于深度学习的多目标跟踪算法(上):端到端的数据关联
  9. 模型压缩高达75%,推理速度提升超20%,百度Paddle Lite v2.3正式发布
  10. AI Challenger 2018 机器翻译参赛总结