步骤
1 创建一个maven工程
坐标 模块名 版本
2 pom文件导包
package 打成war包
属性里面设置编码格式UTF-8,设置maven工程版本1.8
导入springmvc...
导入插件
3 在src/main/java下 创建java包 工程名+模块 比如 com.公司名.项目名.模块名.config 在config包配置springmvc环境
由于是基于servlet3.0开发,所以就不用比采用xml的配置,使用java配置类的形式进行配置。
spring容器的配置
在config包下定义ApplicationConfig.java类,对应web.xml中ContextLoaderListenerde 配置
@Configuratoion
@ComponentScan(basePackages="com.公司名.项目名.模块名",exciudeFilters={@ComponentScan.Filter(type=FilterType.ANNOTATION,value=Controller.class)})
public class ApplicationConfig(){//相当于ApplicationContext.xml
//定义数据源 事务管理器 业务bean等
}
servletContext容器的配置
在config包下定义webConfig.java类,对应DispatcherServlet的配置
@Configuratoion
@EnableWebMvc
@ComponentScan(basePackages="com.公司名.项目名.模块名",includeFilters={@ComponentScan.Filter(type=FilterType.ANNOTATION,value=Controller.class)})
public class WebConfig implements WebMvcConfigurer(){//相当于springmvc.xml文件
//视图解析器
@Bean
public InternalResourceViewResolver vewResolver (){
InternalResourceViewResolver vewResolver = new InternalResourceViewResolver()
vewResolver.setPrefix("/WEB-INF/view");//在src/main下创建文件夹webapp在webapp下创建WEB-INF,在WEB-INF下创建view
vewResolver.setSuffix(".jsp");
return vewResolver ;
}
@Override
public void addViewControlers(viewControllerRegistry registry){
registry.addViewController("/").setViewName("login");//意思是访问“/”,就会跳转到 login.jsp
}
}
4 加载配置类(加载spring容器)
定义一个init包,在init包下定义SpringApplicationInitIzalizer初始化类,实现WebApplicationInitizalizer接口,spring容器启动时会加载实现WebApplicationInitizalizer接口的所有类
public class SpringApplicationInitIzalizer extends AbstractAnnotationConfigDispatcherServletInitializer{
@Override
protected Class>[] getRootConfigClasses(){
return new Class>[]{ApplicationConfig.class};//指定rootContext的配置类 加载spring容器
}
@Override
protected Class>[] getServletConfigClasses(){
return new Class>[]{Webconfig.class};//指定ServletContext的配置类
}
@Override
protected Class>[] getServletMappings(){
return new Class>[]{“/”};//加载url-mapping
}
}
以上基于servlet3.0的工程搭建完成。