Spring学习笔记1

Spring 容器是 Spring 框架的核心。

容器将创建对象,把它们连接在一起,配置它们,并管理他们的整个生命周期从创建到销毁。Spring 容器使用依赖注入(DI)来管理组成一个应用程序的组件。这些对象被称为 Spring Beans。

 

Spring 提供了以下两种不同类型的容器:

①BeanFactory 容器

②ApplicationContext 容器

※ApplicationContext容器包括BeanFactory容器的所有功能,一般建议使用ApplicationContext容器。BeanFactory容器多用于移动设备或基于 applet 的应用程序。

 

大量对 BeanFactory 接口的实现中,最常被使用的是 XmlBeanFactory 类。

这个容器从一个 XML 文件中读取配置元数据,由这些元数据来生成一个被配置化的系统或者应用。

在资源宝贵的移动设备或者基于 applet 的应用当中, BeanFactory 会被优先选择。否则,一般使用的是 ApplicationContext。

示例:

XmlBeanFactory factory = new XmlBeanFactory(new ClassPathResource("beans.xml"));
HelloWorld hw = (HelloWorld)factory.getBean("helloWorld");
hw.getMessage();

 

最常被使用的 ApplicationContext 接口实现:

・FileSystemXmlApplicationContext:该容器从 XML 文件中加载已被定义的 bean。在这里,你需要提供给构造器 XML 文件的完整路径。

・ClassPathXmlApplicationContext:该容器从 XML 文件中加载已被定义的 bean。在这里,不需要提供 XML 文件的完整路径,只需正确配置 CLASSPATH 环境变量即可,因为,容器会从 CLASSPATH 中搜索 bean 配置文件。

・WebXmlApplicationContext:该容器会在一个 web 应用程序的范围内加载在 XML 文件中已被定义的 bean。

 

FileSystemXmlApplicationContext的示例:

ApplicationContext context = new FileSystemXmlApplicationContext("D:/eclipse/microyum/HelloSpring/src/beans.xml");
HelloWorld hw = (HelloWorld)context.getBean("helloWorld");
hw.getMessage();

ClassPathXmlApplicationContext的示例:

ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
HelloWorld hw = (HelloWorld)context.getBean("helloWorld");
hw.getMessage();

 

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

HelloWorld类:

public class HelloWorld {
    private String message;

    public void getMessage() {
        System.out.println("Your Message : " + message);
    }

    public void setMessage(String message) {
        this.message = message;
    }

}

beans.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/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="helloWorld" class="com.microyum.HelloWorld">
        <property name="message" value="Hello World" />
    </bean>
</beans>

 

原文地址:https://www.cnblogs.com/microyum/p/6868759.html