资讯专栏INFORMATION COLUMN

SpringBoot搭建一个SSM开发框架

tuomao / 1892人阅读

摘要:的子模块我们先讲层,因为我想把配置在这里也说下。长这样我们接下来看看每个子模块如何编写。二子模块搭建子模块搭建子模块配置在将之前,我们先将的配置文件,使用一个全局的配置文件或,我们推荐使用文件。

现在,我们来搭建一个简单的分模块的SSM开发框架吧,

一: 分析并创建项目

先来简单分析下我们项目的结构:

比如:我现在搭建一个管理系统,我们把项目分为:

tx-parent 顶级父项目(公司默认有的)
|- tx-manager ---------------------------pom.xml 父项目

   |- tx-manager-mapper ---------------数据层
   |- tx-manager-common ---------------工具层
   |- tx-manager-bean   ---------------实体层
   |- tx-manager-service --------------服务层
   |- tx-manager-web    ---------------控制层

至于为什么这么分,我想都应该知道吧,当然是为了代码复用啦。 下面我们一个一个的来分析下。

tx-parent 顶级父项目

tx-parent是我们公司的顶级父项目, 是一个pom.xml ,用于管理依赖的。我们这里来看看他的pom.xml的问题。



    4.0.0
    com.topinfo
    tx-parent
    1.0.0-SNAPSHOT

    pom

    
    
        UTF-8
        2.5
        2.4
        
        1.1.10
        
        2.5
        3.3.2
        1.3.2
        3.3
        2.3.0
    
    
    
    
        
            aliyun-repos
            http://maven.aliyun.com/nexus/content/groups/public/
            
                false
            
        
    
    
    
        
        
            
                
                org.springframework.boot
                spring-boot-dependencies
                2.1.1.RELEASE
                pom
                import
            
            
            
                nz.net.ultraq.thymeleaf
                thymeleaf-layout-dialect
                ${thymeleaf-layout-dialect.version}
            
            

            
            
                javax.servlet
                servlet-api
                ${servlet-api.version}
                provided
            
             
             
            
                net.sf.json-lib
                json-lib
                ${json-lib.version}
            
             
             
            
                joda-time
                joda-time
                ${joda-time.version}
            
            
            
            
                org.apache.commons
                commons-lang3
                ${commons-lang3.version}
            
            
                org.apache.commons
                commons-io
                ${commons-io.version}
            
            
                commons-net
                commons-net
                ${commons-net.version}
            
            
            
            
                com.alibaba
                druid
                ${druid.version}
            
            
        
    

    
    
        
            topinfo-releases
            Topinfo  Release Repository
            http://192.168.19.82:8081/repository/releases/
        
        
            topinfo-snapshots
            Topinfo Snapshot Repository
            http://192.168.19.82:8081/repository/snapshots/
        
    
    
    
        ${project.artifactId}
        
            
            
                org.apache.maven.plugins
                maven-resources-plugin
                3.1.0
                
                    ${project.build.sourceEncoding}
                
            

            
            
                org.apache.maven.plugins
                maven-compiler-plugin
                3.2
                
                    1.8
                    1.8
                    ${project.build.sourceEncoding}
                
            
        
        
            
                
                
                    org.apache.tomcat.maven
                    tomcat7-maven-plugin
                    2.2
                
            
        
    

tx-manager 项目

tx-manager 这个就是我们的管理项目,他也是一个pom.xml项目,主要是用来聚合的,需要继承顶级父项目,然后在依统一的工具项目,最后pom.xml文件长这样:


    4.0.0
    
    
        com.topinfo
        tx-parent
        1.0.0-SNAPSHOT
    
    
    com.topinfo.manager
    tx-manager
    1.0.0-SNAPSHOT
    pom
    
    
    
        tx-manager-web
        tx-manager-service
        tx-manager-bean
        tx-manager-mapper
    
    
    
    
        
            com.topinfo
            tx-common
            1.0.0-SNAPSHOT
        
    
    

我想熟悉 maven的人都知道吧,这应该不用多解释吧。接下来我们继续创建所有项目都创建好,然后在配置他们的pom.xml依赖。

tx-manager 的 tx-manager-web 子模块

我们先讲web层,因为我想把springboot配置在这里也说下。
简单分析:
1、我们引入spring-boot-starter-web的依赖,因为我们要用到spingmvc
2、我们引入tx-manager-service依赖,因为我们要调用服务层。
3、然后在引入一些其他模板啊,tomcat内嵌的,测试的

如:


    4.0.0
    
        com.topinfo.manager
        tx-manager
        1.0.0-SNAPSHOT
    
    tx-manager-web
    war
    
    
    
        
        
            com.topinfo.manager
            tx-manager-service
            1.0.0-SNAPSHOT
        
        
        
            org.springframework.boot
            spring-boot-starter-web
        
        
        
            org.springframework.boot
            spring-boot-starter-tomcat
            
            provided
        
        
        
        
            org.springframework.boot
            spring-boot-starter-thymeleaf
        
        
        
            nz.net.ultraq.thymeleaf
            thymeleaf-layout-dialect
        
        
        
        
             org.springframework.boot
             spring-boot-starter-test
             test
         
         
         
            net.sf.json-lib
            json-lib
        
        
    
    
tx-manager 的 tx-manager-service 子模块

服务层肯定是调用dao层,也会调用实体等,具体看pom.xml


  4.0.0
  
    com.topinfo.manager
    tx-manager
    1.0.0-SNAPSHOT
  
  tx-manager-service
  
  
  
          
        
            com.topinfo
            tx-common
            1.0.0-SNAPSHOT
        
        
        
          
            com.topinfo.manager
            tx-manager-mapper
            1.0.0-SNAPSHOT
        
         
        
        
            com.topinfo.manager
            tx-manager-bean
            1.0.0-SNAPSHOT
        
        
  
  
  
tx-manager 的 tx-manager-mapper 子模块

tx-manager-mapper,dao层pom.xml


    4.0.0
    
        com.topinfo.manager
        tx-manager
        1.0.0-SNAPSHOT
    
    tx-manager-mapper
    
    
        
        
            com.topinfo.manager
            tx-manager-bean
            1.0.0-SNAPSHOT
        
    
    
tx-manager 的 tx-manager-bean 子模块

实体子模块,暂时什么都不依赖


  4.0.0
  
    com.topinfo.manager
    tx-manager
    1.0.0-SNAPSHOT
  
  tx-manager-bean

这样,整个项目都创建就完成了,上传svn。长这样:

我们接下来看看每个子模块如何编写。

二: 子模块搭建 1: tx-manager-web 子模块搭建 1: tx-manager-web 子模块配置

在将 tx-manager-web 之前,我们先将SpringBoot的配置文件,SpringBoot使用一个全局的配置文件application.properties或application.yml, 我们推荐使用 yml 文件。
在项目内,SpringBoot启动会默认扫描以下位置的:application.properties或application.yml文件。

规则:
按照优先级从高到低的顺序,所有位置的文件都会被加载,高优先级配置内容如果与低优先级的内容冲突则覆盖,如果不冲突则会去并集。

我们也可以手动的修改其默认读取文件的路径(一般我们不建议做),我们还可以从文件的外部加载,比如:命令行,环境变量等,我们这里不扩展,我们建议使用: 类路径/config 这个目录,如图:

2: tx-manager-web 子模块静态资源

静态资源路径是指系统可以直接访问的路径,且路径下的所有文件均可被用户通过浏览器直接读取。
在Springboot中默认的静态资源路径有:classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/

我们选择classpath:/static/, 我们把图片、js、css等静态资源都存放到这个目录中,如图:

在访问的时候,为了在界面中可以访问js、css等,还需要对静态资源进行路径映射。如:

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {

   
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry){
        //静态资源映射
        registry.addResourceHandler ("/static/**").addResourceLocations ("classpath:/static/");
        WebMvcConfigurer.super.addResourceHandlers (registry);
    }
   
    
}

页面资源通过这样引用


这样页面就可以正常访问了。我这里是去amazeui网站去下载了一个demo, 我最好运行效果:

OK , 界面运行起来了。

完善:

为了 http://192.168.90.51:8080/ 也可以访问到login.html

添加一个界面跳转的controller.

/**
 * @ClassName:  PageController   
 * @Description: 页面跳转的Controller
 * @author: 杨攀
 * @date:   2018年12月27日 下午2:38:36     
 * @Copyright: 2018 www.tuxun.net Inc. All rights reserved.
 */
@Controller
public class PageController {

    
    /**
     * @Description: 打开首页
     * @param: @return      
     * @return: String
     */
    @RequestMapping("/")
    public String showIndex(){
        return "login";
    }

    
    /**
     * @Description: 其他页面 跳转
     * @param: @param page
     * @param: @return      
     * @return: String
     */
    @RequestMapping("/{page}")
    public String showpage(@PathVariable String page){
        return page;
    }
    
}

web 层级就先这样,我们接下来处理dao层

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/72899.html

相关文章

  • Java后端

    摘要:,面向切面编程,中最主要的是用于事务方面的使用。目标达成后还会有去构建微服务,希望大家多多支持。原文地址手把手教程优雅的应用四手把手实现后端搭建第四期 SpringMVC 干货系列:从零搭建 SpringMVC+mybatis(四):Spring 两大核心之 AOP 学习 | 掘金技术征文 原本地址:SpringMVC 干货系列:从零搭建 SpringMVC+mybatis(四):Sp...

    joyvw 评论0 收藏0
  • 两年了,我写了这些干货!

    摘要:开公众号差不多两年了,有不少原创教程,当原创越来越多时,大家搜索起来就很不方便,因此做了一个索引帮助大家快速找到需要的文章系列处理登录请求前后端分离一使用完美处理权限问题前后端分离二使用完美处理权限问题前后端分离三中密码加盐与中异常统一处理 开公众号差不多两年了,有不少原创教程,当原创越来越多时,大家搜索起来就很不方便,因此做了一个索引帮助大家快速找到需要的文章! Spring Boo...

    huayeluoliuhen 评论0 收藏0
  • SpringBoot搭建一个SSM开发框架(二)

    摘要:接着上一篇,我们在测试可以允许后,我们接着来写一个查询功能,一连接数据库的查询例子我来看看项目的结构顶级父项目公司默认有的父项目数据层 接着上一篇,我们在测试web可以允许后,我们接着来写一个查询功能, 一、 连接数据库的查询例子 我来看看项目的结构: tx-parent 顶级父项目(公司默认有的) |- tx-manager ------------------------...

    Nosee 评论0 收藏0
  • SpringBoot 仿抖音短视频小程序开发(一)

    摘要:一项目简介模仿抖音做的一个短视频微信小程序,用搭建小程序后台,用框架搭建短视频后台管理系统,小程序后台通过分布式监听节点自动下载或删除短视频后台管理系统上传的视频。 一、项目简介 模仿抖音做的一个短视频微信小程序,用SpringBoot搭建小程序后台,用SSM框架搭建短视频后台管理系统,小程序后台通过分布式zookeeper监听节点自动下载或删除短视频后台管理系统上传的视频。 二、环境...

    CoffeX 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<