如何理解春季@ComponentScan
我正在学习有关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");
}
}
我的问题是,对于视图控制器,通过添加 和 ,将在后台执行哪些操作?该软件包会为这些视图控制器提供一些东西吗?@Configuration
@ComponentScan(basePackages = { "com.apress.prospringmvc.bookstore.web" })
com.apress.prospringmvc.bookstore.web