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>

猜你喜欢

转载自blog.csdn.net/weixin_43309893/article/details/119525186
今日推荐