Spring IOC

Ioc(Inversion of control)控制反转。

在Spring中我们将beans的创建交给了 Ioc容器。它将读取配置文件来创建beans实例。

Spring提供了两种Ioc容器的实现:一种是通过bean工厂(Bean Factory),更高级的一种是bean工厂的扩展应用程序上下文(Application context)。

bean工厂和应用程序上下文的两个接口分别是BeanFactory和ApplicationContext(是BeanFactory的子接口)。

ApplicationContext的实现:

  ClassPathXmlApplicationContext:用于装载classpath下的配置文件。

  FileSystemXmlApplicationContext:用于从文件系统或URL装载配置文件。

  XmlWebApplicationContext和XmlPortletApplicationContext:用于从网络装载配置文件。

如果只是简单的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-3.0.xsd

</beans>

使用简写定义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" xmlns:p="http://www.springframework.org/schema/p

             xsi:schemaLocation="http://www.springframework.org/schema/beans

                     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        <bean id="" class="" p:name=value p:name-ref=beanId/> </beans
>

map和Properties的区别:Properties的value只能是字符串。

如果用继承定义bean,子bean的集合可以设置Merge属性为true与父bean合并。

如果要是用构造器来初始化bean,可以在bean中使用标签指定构造参数。

<Constructor-arg type="" index="" value="" />

 

你可能感兴趣的:(spring ioc)