Spring IoC容器和Bean的xml配置

Java容器

如List,ArrayList,Vector,Map。

容器可以管理对象的生命周期、对象与对象之间的依赖关系,您可以使用一个配置文件(通常是XML),在上面定义好对象的名称、如何产生(Prototype 方式或Singleton 方式)、哪个对象产生之后必须设定成为某个对象的属性等。

在启动容器之后,所有的对象都可以直接取用,不用编写任何一行程序代码来产生对象,或是建立对象与对象之间的依赖关系。

Spring IoC 容器

IOC 容器是具有依赖注入功能的容器,它可以创建对象。控制反转是指new实例不由程序员来做而是交给Spring容器来做。IOC 容器还负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。这些对象叫做Bean。

Spring中两种IoC容器:BeanFactory和 ApplicationContext。
ApplicationContext 容器包括 BeanFactory 容器的所有功能。

程序中建立容器接口的引用(虽然接口不能实例化,但是任何实现该接口的类的实例都可以存储在该接口类型的引用中)来调用容器接口的方法进而管理bean。

public class MainApp {
    public static void main(String[] args) {
        ApplicationContext context =
                new ClassPathXmlApplicationContext("Beans.xml");
        HelloWorld obj = (HelloWorld) context.getBean("helloWorld");
        obj.getMessage();
    }
}

Bean配置

有三种方法:

  1. 在src目录下创建xml文件
  2. 基于注解的配置
  3. 基于Java的配置

XML配置

XML是有逻辑的文本,被设计用来存储和传输数据。这个逻辑就是树形数据结构。
XML 没有预定义的元素。用户可以随便命名元素。(元素指的是从(且包括)开始标签直到(且包括)结束标签的部分)

XML Schema是W3C制定的基于XML格式的XML文档结构描述标准。
一个XML Schema会定义:文档中出现的元素、文档中出现的属性、子元素、子元素的数量、子元素的顺序、元素是否为空、元素和属性的数据类型、元素或属性的默认和固定值。
直接点说就是一个xml引入的XML Schema中定义了这个xml的预定义元素。

xsi是w3c认证的专用的命名空间,是用来引用XML Schema的。

引入xmlns:xsi=“一个长得像url的命名空间”。就可以通过在根结点上使用xsi:schemaLocation属性来指定要引用的XML Schema文件(.xsd文件)格式是:
xsi:schemaLocation=“命名空间 具体文件地址”

一个Bean配置文件结构:

<?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-->

</beans>

一个bean长这样:

  • id就是bean的id
  • class是这个bean的类
  • property元素的name属性表示类的属性,value就是类的属性的value
<bean id="" class="">
	<property name="" value=""/>
</bean>

(元素id class property的名字叫id class property 应该是由IoC容器定义的)
(xsd描述了这个定义)

发布了36 篇原创文章 · 获赞 0 · 访问量 1773

猜你喜欢

转载自blog.csdn.net/Oneiro_qinyue/article/details/103053841