zoukankan      html  css  js  c++  java
  • SpringDay01

    Spring的控制反转

    Spring的依赖注入

      多种注入方式

      多种属性的注入方式

    <bean id="userDao" class="dao.UserDaoImpl"></bean>
    
    
    <!-- 构造方法的方式注入属性 -->
    <bean id="car" class="entity.Car">
        <constructor-arg name="name" value="保时捷"></constructor-arg>
        <constructor-arg name="price" value="1000000"></constructor-arg>
    </bean>
    
    <!-- set方法的方式注入属性 -->
    <bean id="car2" class="entity.Car2">
        <property name="name" value="奇瑞QQ"></property>
        <property name="price" value="40000"></property>
    </bean>
    
    
    <!-- 注入对象类型的注入 -->
    <bean id="person" class="entity.Person">
        <property name="name" value="张三"></property>
        <property name="car" ref="car"></property>
    </bean>
    
    
    <!-- Spring的复杂类型的注入 -->
    <bean id="collectionBean" class="entity.CollectionBean">
        <!-- 数组类型的属性 -->
        <property name="array">
            <list>
                <value>张三</value>
                <value>李四</value>
                <value>王五</value>
            </list>
        </property>
        
        <!-- 注入List集合的数据 -->
        <property name="list">
            <list>
                <value>张三</value>
                <value>李四</value>
                <value>王五</value>
            </list>
        </property>
        
        <!-- 注入Map集合 -->
        <property name="map">
            <map>
                <entry key="aaa" value="111"></entry>
                <entry key="bbb" value="222"></entry>
                <entry key="ccc" value="333"></entry>
            </map>
        </property>
    </bean>
    package test;
    
    
    import org.junit.Test;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    import dao.UserDao;
    import entity.Car;
    import entity.Car2;
    import entity.CollectionBean;
    import entity.Person;
    
    public class Test1 {
    
        @Test
        public void demo(){
            //创建Spring的工厂类:
            ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
            //通过工厂解析XML获取Bean的实例.
            UserDao userDao = (UserDao) applicationContext.getBean("userDao");
            userDao.sayHello();
            
            Car car = (Car) applicationContext.getBean("car");
            System.out.println(car.getName());
            System.out.println(car.getPrice());
            
            System.out.println("---------------------------");
            
            Car2 car2 = (Car2) applicationContext.getBean("car2");
            System.out.println(car2.getName());
            System.out.println(car2.getPrice());
            
            
            System.out.println("---------------------------");
            Person person = (Person) applicationContext.getBean("person");
            System.out.println(person.getName());
            System.out.println(person.getCar().getName());
            
            System.out.println("---------------------------");
            CollectionBean collectionBean = (CollectionBean) applicationContext.getBean("collectionBean");
            System.out.println(collectionBean.getArray().length);
            System.out.println(collectionBean.getList().toString());
            System.out.println(collectionBean.getMap().toString());
        }
    }
  • 相关阅读:
    MySQL数据类型与操作
    MySQL 初识
    python中的线程
    python中的进程
    python中基于tcp协议与udp的通信(数据传输)
    字符串str.format()方法的个人整理
    进度条打印函数
    套接字错误搜集
    正则表达式 整理(w s d 点 贪婪匹配 非贪婪匹配 * + ? {} | [] ^ $  单词边界 分组、re.findall()、re.split()、re.search()、re.match()、re.compile()、re.sub())
    软件开发架构介绍||OSI七层协议之物理层、数据链路层、网络层、传输层(mac地址、ip协议、断开协议、tcp协议之三次握手四次挥手)
  • 原文地址:https://www.cnblogs.com/deepSleeping/p/10438691.html
Copyright © 2011-2022 走看看