zoukankan      html  css  js  c++  java
  • 08_Spring实现action调用service,service调用dao的过程

    【工程截图】

    【PersonDao.java】

    package com.HigginCui.dao;
    
    public interface PersonDao {
        public void savePerson();
    }

    【PersonDaoImpl.java】

    package com.HigginCui.dao;
    
    public class PersonDaoImpl implements PersonDao{
        @Override
        public void savePerson() {
            System.out.println("save Person...");
        }
    }

    【PersonService.java】

    package com.HigginCui.Service;
    
    public interface PersonService {
        public void savePerson();
    }

    【PersonServiceImpl.java】

    package com.HigginCui.Service;
    
    import com.HigginCui.dao.PersonDao;
    
    public class PersonServiceImpl implements PersonService{
        private PersonDao personDao;
        //personDao的set方法
        public void setPersonDao(PersonDao personDao) {
            this.personDao = personDao;
        }
        @Override
        public void savePerson() {
            this.personDao.savePerson();
        }
    }

    【PersonAction.java】

    package com.HigginCui.action;
    
    import com.HigginCui.Service.PersonService;
    
    public class PersonAction {
        private PersonService personService;
        //personService的set方法
        public void setPersonService(PersonService personService) {
            this.personService = personService;
        }
        public String savePerson(){
            this.personService.savePerson();
            return "saveOK...";
        }
    }

    【applicationContext.xml】

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
            xmlns:aop="http://www.springframework.org/schema/aop"
           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.5.xsd
               http://www.springframework.org/schema/aop 
               http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
        
        <bean id="personDao" class="com.HigginCui.dao.PersonDaoImpl"></bean>
        
        <bean id="personService" class="com.HigginCui.Service.PersonServiceImpl">
            <property name="personDao">
                <ref bean="personDao"/>
            </property>
        </bean>
        
        <bean id="personAction" class="com.HigginCui.action.PersonAction">
            <property name="personService">
                <ref bean="personService"/>
            </property>
        </bean>
    </beans>

    【testPerson.java】

    package com.HigginCui.test;
    
    import org.junit.Test;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    import com.HigginCui.action.PersonAction;
    
    public class testPerson {
        @Test
        public void test(){
            ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
            PersonAction personAction=(PersonAction) context.getBean("personAction");
            String str=personAction.savePerson();
            System.out.println(str);
        }
    }

    【运行结果】

    save Person...
    saveOK...

    【小结】

    实现了完全的面向接口编程,在代码端没有必要关心一个接口的实现类是什么。

  • 相关阅读:
    「mysql优化专题」90%程序员面试都用得上的索引优化手册(5)
    「mysql优化专题」你们要的多表查询优化来啦!请查收(4)
    「mysql优化专题」单表查询优化的一些小总结,非索引设计(3)
    mysql优化专题」90%程序员都会忽略的增删改优化(2)
    「mysql优化专题」这大概是一篇最好的mysql优化入门文章(1)
    zookeeper
    linux查看进程是否存在,不存在则重启
    mysql导出文本文件,加分隔符
    oracle查看表空间和物理文件大小
    oracle插入
  • 原文地址:https://www.cnblogs.com/HigginCui/p/5574140.html
Copyright © 2011-2022 走看看