1,原来的工程里配置了bean=/xxx.do格式的controller,现在想要增加自动扫描,并使xml和注解的bean都可以生效

2,在dispatcherServlet所在的xml配置文件中(我这里是spring-mvc.xml),增加三行

<context:annotation-config/>  //启动注解,用来实现注入等

<mvc:annotation-driven/>     //启动spring mvc的注解,RequestMapping等

<context:component-scan base-package = "com.qtps.controller"/> 

第三行特别重要,之前一直在这里调不通,这个包一定要指向包含controller的包,不要在后面加".*"

不要写成<context:component-scan base-package = "com.qtps.controller.*"/> !!!

3,然后就可以在controller里用@Controller,和@RequestMapping了

例如

@Controller //这个是org.springframework.stereotype.Controller

@RequestMapping("/positionMap")

public class PositionMapController {

@Autowired

private PositionMapService positionMapService;

,,,,,,

4,和上文无关,ps:这个工程的service层的xml文件没有使用注解,是在xml里配置bean,然后在controller里直接@Autowired即可

5,调spring web,一定要慢点,改了代码,每次都把工程清理一下,然后在tomcat清除一下,仔细看看log

更多推荐

Spring MVC “XML配置bean”和“注解自动扫描bean”,两者混合使用,同时生效的配置方法