1. <bean id="personAction" class="com.lee.spring008.IOC.DI.MVC.PersonAction">
  2. <property name="stuService" ref="stuService"></property>
  3. </bean>
  4. <bean id="stuService" class="com.lee.spring008.IOC.DI.MVC.StuServiceImpl">
  5. <property name="stuDAO" ref="stuDAO"></property>
  6. </bean>
  7. <bean id="stuDAO" class="com.lee.spring008.IOC.DI.MVC.StuDAOImpl"></bean>

IStuDAO.java

  1. package com.lee.spring008.IOC.DI.MVC;
  2.  
  3. public interface IStuDAO {
  4. public void saveStu();
  5. }

IStuService.java

  1. package com.lee.spring008.IOC.DI.MVC;
  2.  
  3. public interface IStuService {
  4. public void saveStu();
  5. }

PersonAction.java

  1. package com.lee.spring008.IOC.DI.MVC;
  2.  
  3. public class PersonAction {
  4.  
  5. public IStuService stuService;
  6.  
  7. public void displaySave() {
  8. stuService.saveStu();
  9. }
  10.  
  11. public IStuService getStuService() {
  12. return stuService;
  13. }
  14.  
  15. public void setStuService(IStuService stuService) {
  16. this.stuService = stuService;
  17. }
  18.  
  19. }

StuDAOImpl.java

  1. package com.lee.spring008.IOC.DI.MVC;
  2.  
  3. public class StuDAOImpl implements IStuDAO {
  4.  
  5. @Override
  6. public void saveStu() {
  7. System.out.println("dao: saving stu...");
  8. }
  9.  
  10. }

StuServiceImpl.java

  1. package com.lee.spring008.IOC.DI.MVC;
  2.  
  3. public class StuServiceImpl implements IStuService {
  4.  
  5. public IStuDAO stuDAO;
  6.  
  7. @Override
  8. public void saveStu() {
  9. System.out.println("service: saving stu...");
  10. stuDAO.saveStu();
  11. }
  12.  
  13. public IStuDAO getStuDAO() {
  14. return stuDAO;
  15. }
  16.  
  17. public void setStuDAO(IStuDAO stuDAO) {
  18. this.stuDAO = stuDAO;
  19. }
  20.  
  21. }

测试:

  1. @Test
  2. public void testPersonAction() {
  3. ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
  4. PersonAction person = (PersonAction)context.getBean("personAction");
  5. person.displaySave();
  6. }

github地址:https://github.com/leechenxiang/maven-spring001-helloworld

Spring 一二事(6) - IOC MVC 简易搭建的更多相关文章

  1. Spring 一二事(8) - annotation 形式的 MVC

    <!-- component:把一个类放入到spring容器中,该类就是一个component 在base-package指定的包及子包下扫描所有的类 --> <context:co ...

  2. Spring 一二事(4) - 单例

    spring bean配置后再默认情况下是单例的,如果需要配置可以选择 prototype, request, session和global session 在配置spring mvc的action时 ...

  3. Spring 一二事(1)

    简单介绍一下spring,一方面带新手入入门,一方面自己也重温一下第一个小工厂先暂时不用maven,下一个会用maven来来配置 jar包只需要一个,spring版本为2.5(暂时为2.5,后续更新, ...

  4. Spring 一二事(9) - xml 形式的 AOP

    AOP在spring中是非常重要的一个 在切面类中,有5种通知类型: aop:before  前置通知 aop:after-returning  后置通知 aop:after  最终通知 aop:af ...

  5. Spring 一二事(7) - annotation

    之前的文章大多都是一带而过,一方面比较简单,一方面不是用的注解形式 在企业开发中,主要还是使用的注解来进行开发的 1 <!-- component:把一个类放入到spring容器中,该类就是一个 ...

  6. Spring 一二事(10) - annotation AOP

    先贴出POM的内容,这个毕竟是用的maven来简单构建的 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:x ...

  7. Spring 一二事(5) - 依赖注入

    <!-- 依赖注入的装配过程 --> <bean id="person" class="com.lee.spring007.di.xml.setter. ...

  8. Spring 一二事(3) - 别名

    别名就是可以通过另外一个名字来访问如下,已有bean:helloWorld3,那么定义别名(alias )后,就能使用“abc”来访问 <bean id="helloWorld3&qu ...

  9. Spring 一二事(2)

    静态工厂方法及实例工厂的使用: applicationContext.xml: <!-- factory-method 是指调用静态工厂方法 --> <bean id="h ...

随机推荐

  1. shell常用调试方法

    检查语法 -n选项只做语法检查,而不执行脚本. sh -n script_name.sh 启动调试 sh -x script_name.s 进入调试模式后,Shell依次执行读入的语句,产生的输出中有 ...

  2. php之快速入门学习-5(常量)

    PHP 5 常量 常量值被定义后,在脚本的其他任何地方都不能被改变. PHP 常量 常量是一个简单值的标识符.该值在脚本中不能改变. 一个常量由英文字母.下划线.和数字组成,但数字不能作为首字母出现. ...

  3. Java从零开始学二十六(包装类)

    一.包装类 包装类是将基本类型封装到一个类中.也就是将基本数据类型包装成一个类类型. java程序设计为每一种基本类型都提供了一个包装类.这些包装类就在java.lang包中.有8个包装类 二.包装类 ...

  4. js 展开/收起效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. eclipse cdt Program "make" not found in PATH

    eclipse cdt插件,开发c/c++程序,编译时报错Program "make" not found in PATH经查C:\MinGW\bin下确实无make.exe,有m ...

  6. 非IT人士的云栖酱油之行 (程序猿迷妹的云栖之行)

    摘要: 熟悉我的人都知道,我是一个贪玩儿且不学无术的姑娘,对于互联网我也是知之甚少:这次去到杭州参加阿里巴巴集团主办的为期4天的科技大会也是很例外:但是不得不说这次的会议真是让我很震惊.今天我就和大家 ...

  7. k8s内核参数调优

    cat /etc/sysctl.conf kernel.core_uses_pid=1 kernel.pid_max=4194303 kernel.ctrl-alt-del=1 # kernel.co ...

  8. JavaScript-自制日历控件(只选择年月)

    <style> *{margin: 0px; padding: 0px;} </style> <input type="text" name=&quo ...

  9. linux系统新建用户ssh远程登陆显示-bash-4.1$解决方法,ssh-bash-4.1

    linux系统新建的用户用ssh远程登陆显示-bash-4.1$,不显示用户名路径 网络上好多解决办法,大多是新建.bash_profile文件然后输入XXXXX....然而并没有什么用没有用.... ...

  10. Java虚拟机学习 - 对象访问 (2)

    对象访问会涉及到Java栈.Java堆.方法区这三个内存区域. 如下面这句代码: Object objectRef = new Object(); 假设这句代码出现在方法体中,"Object ...