首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >通过SSM搭建企业开发环境

通过SSM搭建企业开发环境

作者头像
sucl
发布2019-08-07 11:54:30
6510
发布2019-08-07 11:54:30
举报
文章被收录于专栏:企业平台构建企业平台构建

此次通过spring4.x+mybatis搭建企业环境。主要是还包括基础功能,不涉及到其他组件和模块。

通过spring4的注解使用,可以为之后的springboot实现方式加强理解。

不多说,在构建maven项目,在pom引入 相关依赖包。大概有spring三大核心包、mysql、数据库连接池、mybatis、分页插件、json处理、servlet相关。详细见pom.xml

延用上一次的ms数据库,通过mybatis-generator由数据库生成代码,具体怎么生成,可以百度查看,有涉及几种方式,同时可以通过tk-mybatis生成代码,其中会附带mapper接口通用包,免去写一些相同接口带来的重复工作。

最后结构大致如下:

现在开始配置系统启动入口:

我们可以回忆下web.xml中一般需要配置扫描信息:

1、spring 上下文applicationContext.xml的路径,通过servlet上下文参数contextConfigLocation

2、springmvc请求分发器DispatcherServlet,其中有关系启动顺序与mvc上下文配置文件

3、监听ContextLoaderListener

4、一些filter,比如编码

现在没有web.xml,但是这些配置还是不能丢,其中spring的上下文配置文件换成了注解模式注册与管理bean,DispatcherServlet全部由配置管理,具体实现都在WebApplicationInitializer接口对应的实现类中完成,我们可以对其做一些扩展,详细见下。

而项目启动的根源在于SpringServletContainerInitializer,也就是servlet3提供的一个接口ServletContainerInitializer,让我们能够在无web.xml的情况使用web项目,由于目前只涉及项目搭建,具体源码中如何实现,暂不做讲解。

先看下WebAppInitializer:

public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
    /*
     * DispatcherServlet的映射路径
     */
    @Override
    protected String[] getServletMappings() {
        return new String[]{"/"};
    }

    /*
     * 应用上下文,除web部分
     */
    @Override
    protected Class[] getRootConfigClasses() {
        //加载配置文件类,这里与上面的xml配置是对应的,需要使用@Configuration注解进行标注
        return new Class[] {RootConfig.class};
    }

    /*
     * web上下文
     */
    @Override
    protected Class[] getServletConfigClasses() {
        return new Class[] {ServletConfig.class};
    }

    /*
     * 注册过滤器,映射路径与DispatcherServlet一致,路径不一致的过滤器需要注册到另外的WebApplicationInitializer中
     */
    @Override
    protected Filter[] getServletFilters() {
        CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
        characterEncodingFilter.setEncoding("UTF-8");
        characterEncodingFilter.setForceEncoding(true);
        return new Filter[] {characterEncodingFilter};
    }

}

主要在容器启动后通过注解查找配置文件,注册bean,添加过滤器等,其中RootConfig对应spring上下文配置,包括数据源配置、mybatis、依赖插件、事务等的配置;ServletConfig相当于springmvc上下文,无非就是一些视图解析器、异常处理器、消息转换器等的注入,其中关于RequestMappingHandlerMapping、RequestMappingHandlerAdapter都是通过WebMvcConfigurationSupport或@EnableWebMvc实现。

需要注意的是,这两个配置文件扫描的包所限定的范围需要明确,不要因为同时扫描导致使用时出现各种问题。

其余的基本都是一些dao相关操作,没有什么特别的点,具体可看代码。

后台代码:https://github.com/suspring/springmvc-mybatis-ms.git

前端采用的是element-ui,第一次使用,没做太多修改,仅完成了用户的单表增删改查。

代码地址:https://github.com/suspring/element-admin.git

目前代码不在维护,之后将会进行springboot的相关项目。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档