1 <!-- 2 component:把一个类放入到spring容器中,该类就是一个component3 在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 @Resource13 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 @Resource11 public IStuDAO stuDAOImpl;12 13 @Override14 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 @Test10 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