【发布时间】:2015-03-10 12:23:13
【问题描述】:
我正在关注有关 Spring MVC 的教程,即使在阅读了 Spring API 文档之后,我也无法理解有关 @ComponentScan 注释的内容,所以这里是示例代码:
配置视图控制器
package com.apress.prospringmvc.bookstore.web.config;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
// Other imports ommitted
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = { "com.apress.prospringmvc.bookstore.web" })
public class WebMvcContextConfiguration extends WebMvcConfigurerAdapter {
// Other methods ommitted
@Override
public void addViewControllers(final ViewControllerRegistry registry) {
registry.addViewController("/index.htm").setViewName("index");
}
}
基于注解的控制器
package com.apress.prospringmvc.bookstore.web;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class IndexController {
@RequestMapping(value = "/index.htm")
public ModelAndView indexPage() {
return new ModelAndView("index");
}
}
我的问题是,对于 View Controller,通过添加 @Configuration 和 @ComponentScan(basePackages = { "com.apress.prospringmvc.bookstore.web" }),后台会做什么? com.apress.prospringmvc.bookstore.web 包会为这些视图控制器提供一些东西吗?
【问题讨论】:
标签: java spring spring-mvc