zoukankan      html  css  js  c++  java
  • 使用idea+gradle建立SSM项目

    目录:  一、创建一个gradle项目

           二 、在gradle中创建SSM项目

     

     

    一 、创建一个gradle项目

    第一步:

    打开我们的IDEA工具,选择创建一个新项目

     

    第二步:这里会让你选择创建一个什么项目,idea会根据选择的不同从而创建不同的项目目录和初始文件,此处我们选择gradle,并选中web,然后点击Next进入下一步。

    这里要介绍一下gradle,gradle是一个开源的项目自动化构建工具,和maven功能类似,默认也是使用maven的仓库。具体细节此处不做赘述。

    第三步:此处会要求输入GroupID和ArtifacID。Next

    GroupId就是maven和gradle添加依赖时需要填写的Group,在简历maven项目的时候也会要求填写

    ArtifactId也是maven中需要填写的

    Version也是,新建的项目默认1.0就好

    第四步:选择gradle,IDEA默认有gradle,可以不用选择,如果需要使用自己安装的gradle,那么选择"Use local gradle distribution",然后选择gradle的安装路径

    (PS:建议要有一个自己安装的版本,如果在加载其他gradle项目的时候选择默认版本,会导致idea去下载该项目之前开发所使用的版本,而数据源是在国外,可能会极慢。)

    第五步:"Project location"是项目生成的路径,项目会被生成到这个路径下面,这里直接点击"Finish"完成

    这里是gradle在进行首次构建,为项目创建初始目录等,此处如果没有选择使用自己安装的gradle则可能自动下载,根据网络情况需要等待的时间不一(也有可能会一直等待,所以建议提前安装自己的gradle)。

    构建完成之后的目录结构如下

     

    gradle项目的建立到这里结束,其中有一个bulid.gradle文件,这个文件是用来添加包依赖的,和maven的pom.xml作用一样

     

    二 、在gradle中创建SSM项目

    第一步:为项目设置Tomcat服务器

    Name这里输入Tomcat的命名(这个随便是什么,你喜欢就好),然后在"Application server"处选择Tomcat的安装路径,

    然后Tomcat的端口号等,这里默认8080,然后点击"Deployment"。

    添加需要使用这个Tomcat发布的Artifact

    这里选择带"(exploded)"后缀的,带exploded后缀在打war包以后是可以直接打开看war内的内容的,而另一个不行(如果我没记错的话,记错了不要喷我)。

    上一步结束后会来到这里,这里设置访问项目的URL,填"/"就是是用默认的访问地址,IP:端口。

    举个例子,如果填/demo,按照上面配置的地址,localhost:8080,则访问时应该是http://localhost:8080/demo作为整个后端接口url的前缀

    到这里Tomcat就设置好了。

     

    第二步:在gradle中添加SSM所依赖的jar包,打开bulid.gradle文件,在

    dependencies{
    }

    中将以下代码贴入其中。

    复制代码
    compile 'log4j:log4j:1.2.17'
    compile 'org.slf4j:slf4j-api:1.7.25'
    compile 'org.slf4j:slf4j-simple:1.7.25'
    compile 'net.logstash.log4j:jsonevent-layout:1.7'
    compile 'org.apache.tomcat:tomcat-servlet-api:8.0.24'
    compile 'jstl:jstl:1.2'
    compile 'org.aspectj:aspectjweaver:1.8.6'

    compile 'org.springframework:spring-beans:4.1.7.RELEASE'
    compile 'org.springframework:spring-web:4.1.7.RELEASE'
    compile 'org.springframework:spring-webmvc:4.1.7.RELEASE'
    compile 'org.springframework:spring-tx:4.1.7.RELEASE'
    compile 'org.springframework:spring-test:4.0.5.RELEASE'
    compile 'org.springframework:spring-jdbc:4.1.7.RELEASE'

    compile 'org.mybatis:mybatis-spring:1.2.3'
    compile 'org.mybatis:mybatis:3.3.0'

    compile 'mysql:mysql-connector-java:5.1.36'
    compile 'com.alibaba:druid:1.0.15'

    compile "com.fasterxml.jackson.core:jackson-databind:2.2.3"
    compile "com.fasterxml.jackson.core:jackson-annotations:2.2.3"
    compile "com.fasterxml.jackson.core:jackson-core:2.2.3"

    providedCompile 'javax.servlet:servlet-api:2.5'

    testCompile group: 'junit', name: 'junit', version: '4.12'
    复制代码

    然后执行这段代码,IDEA会自动下载这些jar包。耐心等待。。。。。。。

    (此处会使用默认的maven仓库下载包,该仓库在国外服务器,不同网络访问速率不一,如果很慢,请更换国内的仓库,更换方法百度或谷歌即可)

    有些刚用idea的兄弟们可能会发现没有下图右侧的工具栏,此时点击idea窗口左下角的方块小图标就有了

     

    完成之后会发现左侧的"External Libraries"里面出现了我们要的jar包

     

    第三步:建立SSM的包结构,在main目录下建立"java","resources"两个包,前者用来存放java源码文件,后者用来存放配置文件

     

    接下来就是如何在该目录中将SSM的demo跑起来。

    首先贴一下我已经建好了的目录

    首先是新建SSM需要的配置文件

    log4j.properties 如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    log4j.rootLogger=INFO,A1,app
     
    log4j.appender.A1=org.apache.log4j.ConsoleAppender
    log4j.appender.A1.layout=org.apache.log4j.PatternLayout
    log4j.appender.A1.layout.ConversionPattern=%p %d %X{uuid} [%c{1} %L] - %m%n
     
    log4j.appender.app=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.app.Encoding=UTF-8
    log4j.appender.app.File=/data/tomcat_logs/app.log
    log4j.appender.app.DatePattern='.'yyyy-MM-dd
    log4j.appender.app.layout=net.logstash.log4j.JSONEventLayoutV1
     
    log4j.logger.java.sql.Connection=DEBUG
    log4j.logger.java.sql.Statement=DEBUG
    log4j.logger.java.sql.PreparedStatement=DEBUG
    log4j.logger.java.sql.ResultSet=DEBUG

     

    写到此处,忽然有事,其他配置后续再补。。。。

      Java新手,准备写个项目来巩固下知识点,在新建项目时不知道选择用什么作为构建工具,Maven肯定用过,只限于使用过,没有系统的去学习。之前做Android开发时用过Gradle来构建项目,也没深入研究过。后来在公司接触过用Gradle构建的java项目,才去深入了解过,描述的是Gradle是作为下一代构建工具,很灵活。我个人觉得这个灵活是体现在配置上,我看了很多使用Gradle构建多模块的项目的博客,配置都不相同。反正Gradle优点很多,想了解的自行百度,有很多Gradle方面的教程。
        写这篇博客主要是为了记忆一下,加深印象,也为各位提供一种思路,有什么不对的地方勿喷,我害怕!
    1、项目结构简单说明一下项目结构,其中project-parent是根项目,project-core和project-app是子模块,project-app依赖project-core模块,其中IDEA我用的是ULTIMATE 2018.1版本,gradle使用的是gradle-4.4版本。



    2、新建根项目project-parent通过IDEA来新建项目,左边菜单栏选择Gradle工具,右边的Additional Libraries and Frameworks什么都不勾选,因为根项目我们只需要setting.gradle和build.gradle两个文件就行了。然后一直下一步,我就不在提供操作截图了,如果还不知道怎么新建一个Gradle项目,请百度一下,教程很多。




    项目新建完成,其中能看到setting.gradle和build.gradle两个文件。




    3、新建子項目project-core选择根项目,然后右键,弹出操作菜单,然后执行new->Module操作,会弹出和新建根项目一样的操作弹窗。




    然后按照新建项目,直接下一步,直到finish。我将贴出每一步的截图






    然后点击Finish完成后,得到如下项目结构:




    4、新建子項目project-app    新建流程和第三步操作一样,我不再贴出具体截图了,只贴出新建后的项目结构图:




    5、修改根目录build.gradle配置:setting.gradle就不说了,可以说是一个包含项目所有module的一个脚本配置,具体可以自行查阅。
    主要说下build.gradle的配置,分三部分,分别是buildscript,allprojects,subprojects
    buildscript {
        ext {        springBootVersion = '2.0.0.RELEASE'    }
        repositories {        mavenCentral()        jcenter()    }
        dependencies {        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")    }}
    allprojects {    group 'com.gradle.project'    version '1.0-SNAPSHOT'}
    subprojects {    apply plugin: 'java'    apply plugin: 'idea'    apply plugin: "io.spring.dependency-management"
        sourceCompatibility = 1.8    targetCompatibility = 1.8
        repositories {        mavenLocal()        mavenCentral()        jcenter()    }
        dependencies{        //这里如果配置了jar包依赖,所有子项目共享,使用了gradle的依赖传递特性。        testCompile group: 'junit', name: 'junit', version: '4.12'    }}

    6、project-core的build.gradle配置:      这里gradle.project什么都没有写,根项目的build.gradle脚本已经为所有模块提供了基本的配置,每个模块的build.gradle脚本可以根据不同业务提供不同的配置。
    dependencies {}7、project-app模块build.gradle配置:    app模块使用SpringBoot框架快速发布一个测试用的应用,并且依赖于project-core模块,具体配置如下:
    apply plugin: 'org.springframework.boot'
    dependencies {    compile project(':project-core')    compile('org.springframework.boot:spring-boot-starter')    compile('org.springframework.boot:spring-boot-starter-actuator')    compile('org.springframework.boot:spring-boot-starter-web')}8、project-core模块发布类:    在此模块下新建一个类,供app模块调用:




    9、发布project-app模块: 通过SpringBoot配置,写一个测试接口,使用project-core模块的代码提供响应消息,然后将此模块发布为一个应用,供外部访问:




    然后启动这个应用,可以根据控制台日志查看启动状态,这里启动成功,并成功发布了request接口:




    默认端口是8080,我们现在可以通过浏览器去访问一下request测试接口,成功返回数据:




    10、总结    在学习gradle过程中,发现需要花部分精力在上面,需要熟悉Groovy的基础语法,然后才能去深入研究gradle工具的使用,使用过程中能够感觉到gradle的强大,我现在只是看到了它的冰山一角,真正强大的特性还有很多,有时间可以阅读《gradle实战》这本书,我还没开始看,从目录结构看,感觉很不错,实际开发中肯定能用的上。--------------------- 作者:皮鞭抽你爸爸 来源:CSDN 原文:https://blog.csdn.net/java779808321/article/details/79890167 版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    对Spark硬件配置的建议
    Hadoop调优 | NameNode主备宕机引发的思考
    系统解析Apache Hive
    Spark集群和任务执行
    Redis中的一致性哈希问题
    Java并发队列与容器
    重要 | Spark和MapReduce的对比,不仅仅是计算模型?
    Redis从入门到精通
    LeaFlet自定义控件
    java学习的一些琐碎知识点
  • 原文地址:https://www.cnblogs.com/Im-Victor/p/10845281.html
Copyright © 2011-2022 走看看