spring再学习之配置详解

applicationContext.xml文件配置:

bean元素:

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       xmlns="http://www.springframework.org/schema/beans" 
       xmlns:p="http://www.springframework.org/schema/p"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd ">
          
          
          <!--将User对象交给Spring容器管理  -->
          <!--Bean元素:使用该元素描述需要Spring容器管理的对象
              class属性:被管理对象的完整类名
              name属性:给被管理的对象起一个名字,获得对象时根据该名称获得对象
                                                                 可以重复,可以使用特殊字符
              id属性:与name属性一模一样
                                                           名称不可重复,不能使用特殊字符
                                          结论:尽量使用name属性。       
           -->
          
          <!-- 空参构造方式   -->
          <bean name="user" class="cn.itcast.bean.User"></bean>
<!-- P名称空间注入 -->
    <bean name="user" class="cn.itcast.bean.User" p:name="jake" p:age="20"> </bean>
</beans>

spring创建对象的方式

(1)空参构造方式

   <!-- 空参构造方式   -->
          <bean name="user" class="cn.itcast.bean.User"></bean>

(2)静态工厂

<!--静态工厂创建方式  -->
           <bean name="user" 
class
="cn.itcast.bean.UserFactory"
factory-method
="createUser"></bean>

(3)实例工厂

配置:

Bean元素进阶

<bean name="user" class="cn.itcast.bean.User" scope="  "></bean>

scope属性

 singleton(默认值):单例对象,在spring中只创建一个实例。

 prototype(多例模型):每次再获得才会创建,每次创建都是新的对象。【Struts 中的action配置为多例

生命周期属性:

配置

 

模块化配置:

导入其他配置文件

属性注入(重点):

set方法注入:

 

构造方法注入:

 

java代码:

为了防止构造参数中顺序不同可以如下配置:

参数类型:

p名称空间注入:

spel输入:

值类型注入,其他对象的值,设置当前的值:

复杂类型的注入:

setter与getter方法

配置文件:

list类型:

map类型注入:

prop类型注入:

猜你喜欢

转载自www.cnblogs.com/xiaonantianmen/p/9175291.html