要引入的jar包

==其中,日志jar包不在spring官方文件中,要另外下载,链接:spring相关jar包免费下载


例子:

public class TestSpring5 {@Testpublic void testAdd(){//    spring加载配置文件ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");
//        获取配置对象  创建配置对象User user = context.getBean("user", User.class);System.out.println(user);user.add();}
}

IOC接口

  • 1、Spring提供IOC容器实现的两种方式:(两个接口)

    • a)、BeanFactory:IOC容器基本实现,是Spring内部的使用接口,一般不提供给开发者使用

      • 加载配置文件时,不会创建配置对象,在使用对象时才创建对象(用的时候才创建)
    • b)、ApplicationContext:是BeanFactory接口的子接口,提供更多更强大的功能,一般由开发人员使用
      • 加载配置文件时,就创建配置对象
      • 这个接口比较好,将启动时间拉长(启动时就创建对象,启动时间相对较长),但使用的时间损耗减少,用户体验提升
    • 注:两个接口都能加载spring配置文件,然后创建配置对象
  • 2、ApplicationContext接口的实现类(IDEACtrl + H查看)
    • 这是ApplicationContext接口的两个主要实现类
      • 以下部分内容来自:https://blog.csdn.net/hbs321123/article/details/38824091
      • a)、使用FileSystemXmlApplicationContext文件系统)时:
        •   //当前路径加载单个配置文件ApplicationContext context = new FileSystemXmlApplicationContext("spring-config.xml"); String[] locations = {"bean1.xml", "bean2.xml", "bean3.xml"};//同时加载多个配置文件ApplicationContext context = new FileSystemXmlApplicationContext(locations );//根据具体路径加载文件ApplicationContext context = new FileSystemXmlApplicationContext("D:/project/bean.xml");
          
        • 也就是若在Project目录下,可以不加盘符,否则,应该写入绝对路径
      • b)、使用ClassPathXmlApplicationContext
      •   //加载单个配置文件ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");String[] locations = {"bean1.xml", "bean2.xml", "bean3.xml"};//同时加载多个配置文件。ApplicationContext context = new ClassPathXmlApplication(locations);//用通配符同时加载多个配置文件:   加前缀  classpath:ApplicationContext context = new ClassPathXmlApplicationContext("classpath:/*.xml");
        
    • 其中FileSystemXmlApplicationContext和ClassPathXmlApplicationContext与BeanFactory的xml文件定位方式一样是基于路径的。
    • c)、例子
    •  public static void main(String[] args) {ApplicationContext factory = null;// 用classpath路径,用ClassPathXmlApplicationContext类时,有没有classpath:前缀都是一样的。factory = new ClassPathXmlApplicationContext("classpath:appcontext.xml");factory = new ClassPathXmlApplicationContext("appcontext.xml");// ClassPathXmlApplicationContext使用了file前缀是可以使用绝对路径的。factory = new ClassPathXmlApplicationContext("file:F:/workspace/example/src/appcontext.xml");// 用文件系统的路径,默认指项目的根路径factory = new FileSystemXmlApplicationContext("src/appcontext.xml");factory = new FileSystemXmlApplicationContext("webRoot/WEB-INF/appcontext.xml");// 使用了classpath:前缀,这样,FileSystemXmlApplicationContext也能够读取classpath下的相对路径factory = new FileSystemXmlApplicationContext( "classpath:appcontext.xml");// 加不加file前缀都是一样的。factory = new FileSystemXmlApplicationContext("file:F:/workspace/example/src/appcontext.xml");factory = new FileSystemXmlApplicationContext("F:/workspace/example/src/appcontext.xml");HelloClient hw = (HelloClient) factory.getBean("helloworldbean");}
      

spring学习笔记--IOC接口相关推荐

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

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

  2. spring学习笔记01-BeanFactory和ApplicationContext的区别

    spring学习笔记01-BeanFactory和ApplicationContext的区别 BeanFactory 和 ApplicationContext 的区别           BeanFa ...

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

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

  4. CHY的Spring学习笔记---师从动力节点王鹤老师(B站白嫖)

    Spring学习笔记 核心技术:ioc和aop ioc:使用di(依赖注入)实现控制反转,底层使用的是反射机制 spring可以创建自己写的类的对象,也可以创建非自定义对象,只要知道类的全限定名即可. ...

  5. Spring学习笔记(三) AOP_annotation,AOP_XML

    在学习课程以前,听说AOP有种很神秘的感觉,好像很好深的技术.其实原理很简单,使用动态代理的方式给程序增加逻辑.与此相似的有struts2中的filter拦截器. 再讲AOP之前先把需求说一下: 同S ...

  6. spring学习笔记03-spring-DI-依赖注入详解(通过xml配置文件来配置依赖注入)

    spring学习笔记03-spring-DI-依赖注入详解 1.概念 2.构造函数注入 3.set方法注入 4.集合的注入 需要被注入的实体对象 package com.itheima.service ...

  7. Spring学习笔记之MyBatis

    系列文章目录 Spring学习笔记 之 Springhttps://blog.csdn.net/weixin_43985478/article/details/124411746?spm=1001.2 ...

  8. 【Spring学习笔记 九】Spring声明式事务管理实现机制

    什么是事务?事务就是把一系列的动作当成一个独立的工作单元,这些动作要么全部完成,要么全部不起作用,关乎数据准确性的地方我们一定要用到事务,防止业务逻辑出错. 什么是事务管理,事务管理对于企业应用而言至 ...

  9. Spring 学习笔记----->AOP

    Spring 学习笔记----->AOP 代理模式 为什么学代理模式? 因为这就是Spring Aop的底层 代理模式的分类: 静态代理 动态代理 静态代理 生活用的例子: 房东 public ...

最新文章

  1. 删除重复字符串的算法
  2. SpringBoot框架:入门篇
  3. 算法课题(一) 贪心算法
  4. Java NIO学习系列三:Selector
  5. mongodb用户管理简单记录
  6. Java:重写equals()和hashCode() 1
  7. 验证方式二 html标签验证码,Django标签、转义及验证码生成
  8. 大数据:技术与应用实践指南
  9. 【转】404、500、502等HTTP状态码介绍
  10. 极佳mysql数据库碎片恢复工具,极佳SQL数据库日志恢复工具
  11. 手机刷入面具_【手机改造计划】搞机助手 - 小白刷机必备工具,搞机一条龙:解锁、root、刷面具、刷xposed框架、模块下载安装、自动救砖...
  12. 功能测试项目——酒店管理系统
  13. WebGL中实现三维融合视频投影技术
  14. java后台数据传到前台的流程_java serlve后台数据传到前台
  15. malloc与calloc
  16. Linux二进制方式安装mysql8
  17. 使用wget下载GEO数据
  18. mvn 执行 install 或者 compil 错误
  19. linux取证工具,【FastIR Collector Linux---让Linux取证更简单】
  20. 范特西公司面试2012/10/23

热门文章

  1. 机器学习--支持向量机(五)核函数详解
  2. c语言中.和-区别,c语言中-和.的区别
  3. java动态是如何根据实体建表_传入Java对象 自动创建动态表 并录入数据
  4. 解决element-ui中表格行点击事件和表格单元格点击事件冲突的问题
  5. 计算机四级笔试1,9月全国计算机等级考试四级网络工程师笔试试卷(1)
  6. 循环减肥c语言,最好的减肥方法
  7. Ajax案例-基于XML,以POST方式,完成省份-城市二级下拉联动
  8. 《Java编程思想》笔记14.类型信息
  9. JavaScript常用DOM操作方法和函数
  10. oracle load data infile