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...

    【小结】

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

  • 相关阅读:
    Idea快捷键
    Java学习之路--书籍推荐
    泵式等待基元
    uni-app,wex5,APPcan,ApiCloud几款国内webapp开发框架的选型对比
    前端框架2019 云开发
    select2 javascript控件 如何设置指定的值
    Github 索引
    linux
    WPF 中的 Uri 地址的不同写法
    WPF GridSplitter 使用技巧
  • 原文地址:https://www.cnblogs.com/HigginCui/p/5574140.html
Copyright © 2011-2022 走看看