• Spring 基础


    0. 名词解释

    IoC (Inversion of Control): 应用程序本身不负责依赖对象的创建和维护,而是由外部容器(Spring Container)负责创建和维护。

     

    1. 初始化Bean容器

    by classpath

    try {
                context = new ClassPathXmlApplicationContext(springXmlpath.split("[,\s]+"));
                context.start();
            } catch (BeansException e) {
                e.printStackTrace();
            }

    2. Spring 的2种注入方式

    injectionService是主bean,injectionDAO 是成员变量,自动调用setInjectionDAO。

    public class InjectionServiceImpl implements InjectionService {
        
        private InjectionDAO injectionDAO;
        
        //构造器注入
        public InjectionServiceImpl(InjectionDAO injectionDAO1) {
            this.injectionDAO = injectionDAO1;
        }
        
        //设值注入
        public void setInjectionDAO(InjectionDAO injectionDAO) {
            this.injectionDAO = injectionDAO;
        }
    
        public void save(String arg) {
            //模拟业务操作
            System.out.println("Service接收参数:" + arg);
            arg = arg + ":" + this.hashCode();
            injectionDAO.save(arg);
        }
    }
    public class InjectionDAOImpl implements InjectionDAO{
        public void save(String arg){
            //模拟数据库保存操作
            System.out.println("保存数据"+arg);
        }
    }

    测试

    @RunWith(BlockJUnit4ClassRunner.class)
    public class TestInjection extends UnitTestBase{
        public TestInjection(){
            super("classpath:spring-injection.xml");
        }
    
        @Test
        public void testSetter(){
            InjecionService service = super.getBean("injectionService");
            service.save("要保存的数据");
        }
    
        @Test
        public void testCons(){
            InjecionService service = super.getBean("injectionService");
            service.save("要保存的数据");
        }
    }

     (1)设值注入

    <?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="injectionService" class="com.imooc.ioc.injection.service.InjectionServiceImpl">
          <property name="injectionDAO" ref="injectionDAO"></property>
         </bean> <bean id="injectionDAO" class="com.imooc.ioc.injection.dao.InjectionDAOImpl"></bean> </beans>

    (2)构造注入

    <?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="injectionService" class="com.imooc.ioc.injection.service.InjectionServiceImpl">
                <constructor-arg  ref="injectionDAO"></constructor-arg>
            </bean>
            
            <bean id="injectionDAO" class="com.imooc.ioc.injection.dao.InjectionDAOImpl"></bean>
        
     </beans>
  • 相关阅读:
    SQL日常维护的语句
    87岁老奶奶用微软自带画图软件绘画 惊艳了世人
    87岁老奶奶用微软自带画图软件绘画 惊艳了世人
    87岁老奶奶用微软自带画图软件绘画 惊艳了世人
    .NET开源项目小功能组件
    .NET开源项目小功能组件
    .NET开源项目小功能组件
    常用 SQL Server 规范集锦
    常用 SQL Server 规范集锦
    常用 SQL Server 规范集锦
  • 原文地址:https://www.cnblogs.com/phoenix13suns/p/4237817.html
Copyright © 2020-2023  润新知