zoukankan      html  css  js  c++  java
  • 6. Spring相关API

    ApplicationContext的继承体系

    applicationContext:接口类型代表应用上下文,可以通过 实例获得 Spring 容器中的 Bean 对象。

    上图中 紫色是接口 。


    ApplicationContext的实现类:

    1)ClassPathXmlApplicationContext 它是从类的根路径下加载配置文件 推荐使用这种

    2)FileSystemXmlApplicationContext 它是从磁盘路径上加载配置文件,配置文件可以在磁盘的任意位置。

    3)AnnotationConfigApplicationContext 当使用注解配置容器对象时,需要使用此类来创建 spring 容器。它用来读取注解。

    意思就是说 我们可以从这3个实现类中 获取Bean对象。

    详解:

    其中第一个我们用过 就是直接通过本地的XMl中获取,,,例如:

     ApplicationContext app =  new ClassPathXmlApplicationContext("store.xml");

    其中 store.xml本项目中Spring自动寻找的根路径

    2.FileSystemXmlApplicationContext

    他是写入 绝对路径 ,例:

            ApplicationContext app =  new FileSystemXmlApplicationContext("C:\Users\Bi-Hu\IdeaProjects\Spring\src\main\resources\store.xml");

    3.AnnotationConfigApplicationContext 

    待写....

    getBean()方法使用

    我们看一下 getBean的源代码:

    public Object getBean(String name) throws BeansException {
    assertBeanFactoryActive();
    return getBeanFactory().getBean(name);
    }
    public <T> T getBean(Class<T> requiredType) throws BeansException {
    assertBeanFactoryActive();
    return getBeanFactory().getBean(requiredType);
    }

    他有两个构造,

    一个String类型的、一个Class<T> 类型的。

    String类型那个 参数是配置文件Bean标签的id  我们getBean的时候要强转。  例:

     HelloServiceImpl service = (HelloServiceImpl)app.getBean("Service");

    Class<T> 那个参数是字节码文件名,然后他不需要强转,因为字节码文件就很好的说明了它是什么类型。    例:

     HelloServiceImpl service = app.getBean(HelloServiceImpl.class);

      所以这里 如果配置文件中 存在多个bean 推荐用id   

    如果存在单独一个 推荐用Class

    本文来自博客园,作者:咸瑜,转载请注明原文链接:https://www.cnblogs.com/bi-hu/p/14906684.html

  • 相关阅读:
    The FLARE On Challenge
    CVE-2013-2551漏洞成因与利用分析(ISCC2014 PWN6)
    CVE-2014-0322漏洞成因与利用分析
    CVE-2013-3897漏洞成因与利用分析
    译:《深入解析WINDOWS VISTA APC》——PART 1
    MemoryInjector 无痕注入
    一个APC引起的折腾 之题外记
    一个APC引起的折腾
    2020
    javascriptcore调试笔记
  • 原文地址:https://www.cnblogs.com/bi-hu/p/14906684.html
Copyright © 2011-2022 走看看