zoukankan      html  css  js  c++  java
  • Spring学习之路三——第一个Spring程序(体会IoC)

    体会IoC:Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。

    步骤如下:

    1.建立web功能

    2.导入jar包

    3.配置applicationContext.xml

    4.创建类

    5.测试

     

    具体代码如下

      UserDao.java 

    1 package cn.itcast.ioc;
    2 
    3 public interface UserDao {
    4     
    5     public void save();
    6 }

      UserDaoImpl.java

    package cn.itcast.ioc;
    
    public class UserDaoImpl implements UserDao{
        
        public void save(){
            
            System.out.println("spring:hello user dao");
        }
    }

      applicationContext.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!-- Spring的约束配置 -->
    <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-2.0.xsd ">
        
        <!-- 将指定对象配置给Spring,让spring创建其实例 -->
        <!-- 在spring容器中创建一个id为userDao的bean实例 -->
        <bean id="userDao" class="cn.itcast.ioc.UserDaoImpl"></bean>
    
    </beans>

      TestIoC.java

    package cn.itcast.ioc;
    
    import org.junit.Test;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    public class TestIoC{
        
        @SuppressWarnings("resource")
        @Test
        public void testDemo1(){
            
            //1.定义配置文件路径(此处代表在类路径中)
            String xmlPath = "applicationContext.xml";
            //2.初始化Spring容器,加载配置文件
            ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath);
            //3.通过容器获取useDao实例
            UserDao userDao = (UserDao)applicationContext.getBean("userDao");
            //4.调用userDao的save()方法
            userDao.save();
        
        }
    }

      

  • 相关阅读:
    教育单元测试mock框架优化之路(下)
    教育单元测试mock框架优化之路(中)
    教育单元测试mock框架优化之路(上)
    spring /spring boot中mock
    Multi-Projector Based Display Code ------- Home
    投影的一些链接
    香茅油:不只是驱虫剂 new
    python特定时间发送消息到微信公众号
    基金定投研究
    PE就是市盈率的缩写 PB是平均市净率的缩写
  • 原文地址:https://www.cnblogs.com/haimishasha/p/5808409.html
Copyright © 2011-2022 走看看