版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/rubulai/article/details/80979531
1、Spring容器:并不需要@Configuration注解
@ComponentScan(value = "com.bdm", excludeFilters = {
@Filter(type = FilterType.ANNOTATION, classes = { Controller.class }) })
public class RootConfig {
}
2、SpringMVC容器:并不需要@Configuration注解
@ComponentScan(value = "com.bdm", useDefaultFilters = false, includeFilters = {
@Filter(type = FilterType.ANNOTATION, classes = { Controller.class }) })
public class AppConfig {
}
3、controller
@Controller
public class HelloController {
@Autowired
HelloService helloService;
@ResponseBody
@RequestMapping("/hello")
public String sayHello(){
String sayHello = helloService.sayHello("tomcat");
return sayHello;
}
}
4、service
@Service
public class HelloService {
public String sayHello(String name){
return "Hello " + name;
}
}
5、AbstractAnnotationConfigDispatcherServletInitializer的实现类
public class MyWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[] { RootConfig.class };
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[] { AppConfig.class };
}
@Override
protected String[] getServletMappings() {
return new String[] { "/" };
}
}
拦截的路径,此处配置的"/":表示拦截除*.jsp之外的所有请求,*.jsp的解析是由tomcat的jsp引擎负责的;若配置成"/*"则会连*.jsp也会拦截,导致jsp无法解析
6、访问: