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

1 <!-- 
2            component:把一个类放入到spring容器中,该类就是一个component
3            在base-package指定的包及子包下扫描所有的类
4     -->
5     <context:component-scan base-package="com.lee.spring012.scan.mvc.annotation"></context:component-scan>

IStuDAO.java

1 package com.lee.spring012.scan.mvc.annotation;
2 
3 public interface IStuDAO {
4     public void saveStu();
5 }

IStuService.java

1 package com.lee.spring012.scan.mvc.annotation;
2 
3 public interface IStuService {
4     public void saveStu();
5 }

PersonAction.java

 1 package com.lee.spring012.scan.mvc.annotation;
 2 
 3 import javax.annotation.Resource;
 4 
 5 import org.springframework.context.annotation.Scope;
 6 import org.springframework.stereotype.Controller;
 7 
 8 @Controller
 9 @Scope("prototype")        // action为多例
10 public class PersonAction {
11 
12     @Resource
13     public IStuService stuServiceImpl;
14 
15     public void displaySave() {
16         System.out.println("mvc action: saving stu...");
17         stuServiceImpl.saveStu();
18     }
19 
20 }

StuDAOImpl.java

 1 package com.lee.spring012.scan.mvc.annotation;
 2 
 3 import org.springframework.stereotype.Repository;
 4 
 5 @Repository
 6 public class StuDAOImpl implements IStuDAO {
 7 
 8     @Override
 9     public void saveStu() {
10         System.out.println("mvc dao: saving stu...");
11     }
12 
13 }

StuServiceImpl.java

 1 package com.lee.spring012.scan.mvc.annotation;
 2 
 3 import javax.annotation.Resource;
 4 
 5 import org.springframework.stereotype.Service;
 6 
 7 @Service
 8 public class StuServiceImpl implements IStuService {
 9 
10     @Resource
11     public IStuDAO stuDAOImpl;
12     
13     @Override
14     public void saveStu() {
15         System.out.println("mvc service: saving stu...");
16         stuDAOImpl.saveStu();
17     }
18 
19 }

测试

 1 package com.lee.spring012.scan.mvc.annotation;
 2 
 3 import org.junit.Test;
 4 import org.springframework.context.ApplicationContext;
 5 import org.springframework.context.support.ClassPathXmlApplicationContext;
 6 
 7 public class PersonTest {
 8 
 9     @Test
10     public void testPersonAction() {
11         ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext-scan-mvc.xml");
12         PersonAction person = (PersonAction)context.getBean("personAction");
13         person.displaySave();
14     }
15 
16 }

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

posted @ 2016-03-22 11:59  风间影月  阅读(323)  评论(0编辑  收藏  举报