使用注解的方式搭建一个springmvc项目

步骤

1 创建一个maven工程

坐标    模块名      版本

2  pom文件导包

package 打成war包         

   war

属性里面设置编码格式UTF-8,设置maven工程版本1.8

  

    UTF-8

    1.8

    1.8

  

导入springmvc...

    

      org.springframework

      spring-webmvc

      5.1.5.RELEASE

    

    

      javax.servlet

      javax.servlet-api

      3.0.1

      provided                           

    

    

      org.projectlombok

      lombok

      1.18.8

    

导入插件

  xxx-springmvc

  

    

      

        org.apache.tomcat.maven

        tomcat7-maven-plugin

        2.2

      

      

        org.maven.plugins

        maven.compiler.plugin

        

          1.8

          1.8

        

      

      

        maven.resources.plugin

        

          UTF-8

          1.8

          

            

              src/main/resources

              true

              

                **/*

              

            

            

              src/main/java

              

                **/*.xml

              

            

          

        

      

    

  

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的工程搭建完成。 

 

你可能感兴趣的:(使用注解的方式搭建一个springmvc项目)