<?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:context="http://www.springframework.org/schema/context"

    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">

    <!--  <context:component-scan base-package="com.chinasofti.bean"></context:component-scan>  -->  

    <!-- 构造器方式 -->
    <bean id="dog" class="day1.Dog">
        <!-- 有参的类: constructor-arg 标签代表有参构造,index对应第几个参数,value是值 -->
        <constructor-arg index="0" value="杀魔爷"></constructor-arg>
        <constructor-arg index="1" value="888"></constructor-arg>

    </bean>

    <!-- 静态工厂方式  -->
    <bean id="product" class="beans.staticFactorys" factory-method="getProduct"></bean>

    <!-- 非公共类 -->
    <bean id="div" class="beans.Div"></bean>

    <!-- 普通类的方法 返回的对象 -->
    <bean id="factory" class="beans.Factory" ></bean>
    <bean id="product2" factory-bean="factory" factory-method="getProduct"></bean>

        <!-- 导入其他的配置文件-->
         <import resource="ac.xml"/>
<!-- 默认情况下每个bean 的scope的值是 singleton 即 单例模式,该模式下容器只存在一个bean
        在单例模式下属性 lazy-init 可以决定bean的创建事件,默认:false 时随着IOC 容器的创建而创建
            (ApplicationContext ac=new ClassPathXmlApplicationContext("ac.xml");)
        该值为true 时 ,则第一场获取对象 (getBean()) 是创建对象

        scope 的值是 prototype 时 即 多例模式  其 lazy-init 的值就只能是 true 

        init-method: 初始化方法
        destory-method: 销毁方法
     -->
    <bean id="dog" class="day1.Dog" scope="singleton" init-method="setName" destroy-method="destory"/>

    <!-- property 标签 可以给初始化成员变量  -->

        <!-- 1.Boy boy=new Boy();
             2.boy.setName(小明)
               boy.setDog(new Dog());
         -->
    <bean id="boy" class="beans.Boy" >

        <!-- 基本类型注入 -->
        <property name="name" value="小明"></property>
        <!-- Spring 组件类型注入 ref  -->
        <!-- 依赖参数的内部写法,外部的其他键无法访问 -->
        <property name="dog" >
         <bean id="dog" class="day1.Dog">
            <property name="name" value="吃鸡"></property>
            <property name="age" value="55"></property>
        </bean>
         </property>

    </bean>

    <!-- 依赖参数的外部注入写法 -->
        <bean id="boy1" class="beans.Boy">
            <property name="name" value="小明"></property>
            <property name="dog" ref="dog"></property>
        </bean>
    <bean id="dog" class="day1.Dog"></bean>
</beans>
        <!-- 集合 类型注入:
            list  set   Map
                list 注入:一个value 标签代表一个元素
         -->

        <bean id="setList" class="beans.setList">
            <property name="lists">
                <list>
                <value type="java.lang.String">天下第一</value>
                <value type="java.lang.String">天下第二</value>
                </list>
            </property>

            <property name="dlist">
            <!-- 组件注入集合的方式 -->
            <!--      <list>
                    <ref bean="date"></ref>
                    <ref bean="date"></ref>
                    <null></null>
                </list>
                -->
                <set>
                    <ref bean="date"></ref>
                    <null></null>
                    <ref bean="date"></ref>
                </set>
            </property>

        </bean>

    <bean id="date" class="java.util.Date"></bean>    

        <!-- 注入map 集合 -->
        <bean id="setMap" class="beans.setMap">
            <property name="map">
                <map>
                <entry key-ref="date" value-ref="setList"></entry> <!-- key 和 value 是其他bean时 -->
                 <!-- key 和 value 是字符串或者基本类型时 -->
                <entry key="aa" value="vv"></entry>
                </map>
            </property>
        </bean>

        <bean id="user" class="beans.User">
            <property name="ps">
                <props>
                    <prop key="userName">username</prop>
                    <prop key="passWord">password</prop>
                </props>
            </property>
        </bean>

</beans> 

Spring的配置文件说明的更多相关文章

  1. Spring的配置文件

    Web.xml将会配置Spring的配置文件位置: <servlet>        <servlet-name>x</servlet-name>        & ...

  2. java Spring使用配置文件读取jdbc.properties

    Spring使用配置文件读取jdbc.properties 在beans.xml中加入两个必须的bean [html]<bean id="propertyConfigurer" ...

  3. 使用JDom解析XML文档模拟Spring的配置文件解析

    在J2EE项目中可能会涉及到一些框架的使用,最近接触到了SSH,拿Spring来说配置文件的使用是相当重要的,Spring的配置文件是一个xml文件,Spring是如何读取到配置文件并进行依赖注入的呢 ...

  4. Spring Boot 配置文件详解

    Spring Boot配置文件详解 Spring Boot提供了两种常用的配置文件,分别是properties文件和yml文件.他们的作用都是修改Spring Boot自动配置的默认值.相对于prop ...

  5. Spring boot 配置文件详解 (properties 和yml )

    从其他框架来看 我们都有自己的配置文件, hibernate有hbm,mybatis 有properties, 同样, Spring boot 也有全局配置文件. Springboot使用一个全局的配 ...

  6. Springboot 系列(二)Spring Boot 配置文件

    注意:本 Spring Boot 系列文章基于 Spring Boot 版本 v2.1.1.RELEASE 进行学习分析,版本不同可能会有细微差别. 前言 不管是通过官方提供的方式获取 Spring ...

  7. java web路径和spring读取配置文件

    此篇博客缘起:部署java web系统到阿里云服务器(ubuntu14.04)的时候,有以下两个问题 找不到自定义的property配置文件 上传图片的时候找不到路径 开发的时候是在windows上的 ...

  8. 史上最全的Spring Boot配置文件详解

    Spring Boot在工作中是用到的越来越广泛了,简单方便,有了它,效率提高不知道多少倍.Spring Boot配置文件对Spring Boot来说就是入门和基础,经常会用到,所以写下做个总结以便日 ...

  9. spring boot 配置文件

    spring boot使用一个全局配置文件:主要是以下两种类型 application.properties  :例:server.port=9998 application.yml(YAML)  : ...

  10. Spring之配置文件bean作用域的详细介绍

    Spring的配置文件applicationContext.xml中bean作用域的详细介绍: 1:对象的创建:单例和多例        scope="singleton",默认值 ...

随机推荐

  1. vSphere HA 原理与配置

    内容预览: 1. vSphere HA 概述 2. vSphere HA 提供的保护级别 3. vSphere HA运行原理 4. vSphere HA 故障支持场景 5. vSphere HA接入控 ...

  2. 百度小程序-接入自然搜索-API提交Url-c#开发

    开发百度小程序后,接下来,人们最想做的是让百度更多的录入自家内容.因为小程序资源被索引后,才可能在搜索结果中展现. 百度也提供了小程序的自然搜索提交入口.一共有两种方式: 第一种是用已有的H5网站资源 ...

  3. GDOI#345. 送礼物「JSOI 2015」01分数规划+RMQ

    题目描述 JYY和CX的结婚纪念日即将到来,JYY来到萌萌开的礼品店选购纪念礼物.萌萌的礼品店很神奇,所有出售的礼物都按照特定的顺序都排成一列,而且相邻的礼物之间有一种神秘的美感.于是,JYY决定从中 ...

  4. JuJu团队11月28号工作汇报

    JuJu团队11月28号工作汇报 JuJu   Scrum 团队成员 今日工作 剩余任务 困难 于达 解决了数据接口的bug 生成generator形式, 并用熟悉Julia处理数据的方法 处理数据步 ...

  5. servlet3.0的文件上传代码配置怎么写

    之前学习过xml配置servlet3.0的文件上传,但是变成code方式一直不知道怎么弄,相比较起来apache的文件上传配置和xml倒是没什么太大区别. 直接上代码:无需依赖,只要一个方法就好了cu ...

  6. CAN编写完分帧发送, 分帧接收,J1939位域型结构体心得

    关于由多个不同的C文件构成的工程,我采用以下方法 以为400Hz数字电源程序为例 假设工程由以下文件组成 DC_Comm.c 主要完成串口通讯部分 DC_Config.c 主要完成时钟,外设 中断初始 ...

  7. Spark tungsten 项目阅读笔记

    Spark tungsten 项目阅读笔记 Spark tungsten 项目的宣言就是:Bringing Apache Spark closer Bare Metal. 我的理解就是不要让硬件成为S ...

  8. SLAM的评测工具evo

    遇到的问题 今天用orbslam2跑euroc数据集,将结果和真实轨迹用evo测评,发现差别特别大: evo_traj tum data.tum CameraTrajectory.txt --plot ...

  9. Go语言 一维数组的使用

    程序源码 package main import ( "fmt" // 导入 fmt 包,打印字符串是需要用到 ) func main() { // 声明 main 主函数 var ...

  10. 2. FTP 服务器安装

    vsftp 安装(linux) Linux : 安装,创建虚拟用户,配置,防火墙设置 1. 安装 执行yum -y install vsftpd 注意: (1) 是否使用sudo权限执行请根据您具体环 ...