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
官網itzixi.com
微信公衆号:BeJavaGod
新浪微網誌
知乎
簡書
cnblogs
今日頭條
豆瓣
--> 同步更新
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicGcq5yNzMjMyATO3ATMtATN5cDNyEDMxIDM4AjNxAjMtYTO0EDN48CX4AjNxAjMvwlN5QTM0gzLcd2bsJ2Lc12bj5ycn9Gbi52YuUTMwIzcldWYtl2Lc9CX6MHc0RHaiojIsJye.jpg)