Spring > 基于XML 的 IOC环境的搭建及入门

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

    <!-- Method 01 常用方式 -->
    <bean id="UserDao" class="com.xx.dao.impl.UserDaoImpl" />

    <!-- Method 02 利用自己的工厂返回实体类 动态方法获取 -->
    <!-- 首先需要Spring容器通过反射获取到我们自己的工厂类 -->
    <bean id="instanceOfFactory" class="com.xx.factory.BeanFactory_dome01"/>
    <!-- getUserService是BeanFactory_dome01中的一个获取UserServiceImpl的一个方法 -->
    <bean id="getUserService" factory-bean="instanceOfFactory" factory-method="getUserService"/>

    <!-- Method 03 静态方法获取 -->
    <bean id="getUserService_01" class="com.xx.factory.BeanFactory_dome01" factory-method="getUserService_01"/>


    <!--
        bean的作用范围
            singleton : 单例的
            prototype : 多例的
            request : 作用于请求 应用在web项目中,表示该针对每一次HTTP请求都会产生一个新的bean,同时该bean仅在当前HTTP request内有效。
            session : 作用于会话 应用在web项目中,Spring创建这个类以后,将这个类存入到session范围中。
            global-session :应用在web项目中,必须在porlet环境下使用。但是如果没有这种环境,相当于session
     -->
    <bean id="UserDao_01" class="com.xx.service.impl.UserServiceImpl" scope="singleton" init-method="init" destroy-method="destroy"/>

    <!-- Date类型的值注入,需要借助与Spring的IOC容器,首先将Date类实例化,然后在将值注入 -->
    <bean id="nowDate" class="java.util.Date"/>

    <!-- 构造参数注入值 -->
    <bean id="UserServiceImpl_01" class="com.xx.service.impl.UserServiceImpl">
        <constructor-arg name="name" value="Alis"/>
        <constructor-arg name="age" value="18"/>
        <constructor-arg name="date" ref="nowDate"/>
    </bean>

    <!-- 依赖于实体类中的set方法将值注入 -->
    <bean id="UserServiceImpl_02" class="com.xx.service.impl.UserService_impl_01">
        <property name="name" value="张三"/>
        <property name="age" value="19"/>
        <property name="date" ref="nowDate"/>
    </bean>

</beans>
<?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 id="UserService_impl_02" class="com.xx.service.impl.UserService_impl_02">
        <!-- set方法值注入 -->
        <!-- String数组值的注入 -->
        <property name="str_arr">
            <array>
                <value>AAA</value>
                <value>BBB</value>
                <value>CCC</value>
                <value>DDD</value>
            </array>
        </property>

        <!-- Set 值的注入 -->
        <property name="int_set">
            <set>
                <value>111</value>
                <value>222</value>
                <value>333</value>
                <value>444</value>
            </set>
        </property>

        <!-- List 值的注入 -->
        <property name="str_List">
            <list>
                <value>AAA</value>
                <value>BBB</value>
                <value>CCC</value>
            </list>
        </property>

        <!-- Map 值的注入 -->
        <property name="str_int_map">
            <map>
                <entry key="dome01" value="123"/>
                <entry key="dome02" value="123"/>
                <entry key="dome03" value="123"/>
                <entry key="dome04" value="123"/>
            </map>
        </property>

        <!-- properties 值注入 -->
        <property name="properties">
            <props>
                <prop key="driver">driver com.mysql.jdbc.Driver</prop>
                <prop key="url">url jdbc:mysql://192.168.1.1:3306/dome01?characterEncoding=utf8</prop>
                <prop key="username">username root</prop>
                <prop key="password">password 111222333</prop>
            </props>
        </property>
    </bean>


</beans>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值