Spring配置详解

来源:互联网 发布:路虎是印度车 知乎 编辑:程序博客网 时间:2024/06/11 08:15

一、Bean元素

使用Bean元素描述需要spring容器管理的对象

    name属性:给被管理的对象起个名字,获得对象时根据该名称获得对象。可以重复,可以使用特殊字符。

    class属性:被管理对象的完整类名。

    id属性:与name属性一模一样,名称不可重复,不能使用特殊字符。

尽量使用name属性。

二、三种对象创建方式

<?xml version="1.0" encoding="UTF-8"?><beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd "><!-- 创建方式1:空参构造创建--><bean name="user" class="com.mytest.User"></bean><!-- 创建方式2:静态工厂创建 (了解)--><bean name="user2"      class="com.mytest.b_create.UserFactory"      factory-method="createUser"></bean><!-- 创建方式3:实例工厂创建 (了解)--><bean name="user3"      factory-bean="userFactory"     factory-method="createUser2"></bean><bean name="userFactory"      class="com.mytest.b_create.UserFactory" ></bean></beans>
package com.mytest.b_create;import com.mytest.User;public class UserFactory {public static User createUser(){System.out.println("静态工厂创建User");return new User();}public User createUser2(){System.out.println("实例工厂创建User");return new User();}}
package com.mytest.a_hello;import org.junit.Test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.mytest.User;public class Demo {@Testpublic void fun1(){//1、创建容器对象ApplicationContext ac=new ClassPathXmlApplicationContext("com/mytest/b_create/applicationContext.xml");//2、向容器要User对象 User u = (User) ac.getBean("user3");//3、打印User对象 System.out.println(u);}}

三、Scope属性

1、singleton(默认值):单例对象。被标识为单例的对象在spring容器中只会存在一个实例

2、prototype:多例原型:被标识为多例的对象,每次在获得才会创建,每次创建都是新的对象,整合struts2时,ActionBean必须配置为多例的。

3、request(了解):web环境下,对象与request生命周期一致

4、session(了解):web环境下,对象与session生命周期一致


四、Spring分模块配置

在主配置文件中引入其他配置

<!-- 导入其他spring配置 --><import resource="com/mytest/b_create/applicationContext.xml">