一、操作步骤:
1、导入对应的包
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.10.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
2、创建控制器类
开发表现层的bean通过使用Controller
3、Spring的配置类
4、让Tomcat容器加载已配置的东西
//定义一个Tomcat容器启动的配置类,加载spring相关的配置
public class ServletContainerInitConfig extends AbstractDispatcherServletInitializer {
//加载SpringMVC容器的配置
@Override
protected WebApplicationContext createServletApplicationContext() {
// 以前创建IOC容器的方法 AnnotationConfigApplicationContext ctx == ???
//在Web项目中使用以下方式
AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
ctx.register(SpringmvcConfig.class);
return ctx;
}
//设置哪些请求归属springMVC 处理
@Override
protected String[] getServletMappings() {
//代表所有请求交给springmvc处理
return new String[]{"/"};
}
//加载Spring容器的配置
@Override
protected WebApplicationContext createRootApplicationContext() {
return null;
}
}
注解的意义:
二、工作流程
三、加载Spring容器
@Override
protected WebApplicationContext createRootApplicationContext() {
AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
ctx.register(SpringConfig.class);
return ctx;
}
和加载SpringMVC一样,只需要改变注册中的 配置类型即可
四、简化Web容器加载这些配置类
public class ServletContainerInitConfig extends AbstractAnnotationConfigDispatcherServletInitializer{
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[]{SpringConfig.class};
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[]{SpringmvcConfig.class};
}
@Override
protected String[] getServletMappings() {
return new String[]{"/"};
}
}