【Java】使用Spring Boot开发Web应用的样例项目

这是一个使用Java(Spring Boot)进行Web应用开发的模板。
我已经创建了一个示例项目,请点击以下链接查看:
https://github.com/hrk-okd/spring-sample

源代码的说明

创建环境

    • Windows 10

 

    • jdk-12.0.1

 

    IntelliJ IDEA Community Edition 2019.1.3 x64

源代码的设计思想 de

由于这只是一个样例,所以并不是什么特别重要的思想,但唯一需要注意的是我使用了“构造器注入”来实现依赖注入。

样本项目的库结构

以下是示例项目中的库。

请以中文原生形式重新述说以下内容,只需要提供一个选项:
<引用元>
https://github.com/hrk-okd/spring-sample/blob/0710e4585767eb3dc260054b57d7607a9543bb60/spring-mvc/build.gradle#L18-L44

https://github.com/hrk-okd/spring-sample/blob/0710e4585767eb3dc260054b57d7607a9543bb60/spring-mvc/build.gradle中的第18至44行的内容是被引用的来源。

dependencies {
    // https://mvnrepository.com/artifact/org.springframework.boot/spring-boot
    compile group: 'org.springframework.boot', name: 'spring-boot', version: '2.1.6.RELEASE'
    // https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter
    compile group: 'org.springframework.boot', name: 'spring-boot-starter', version: '2.1.6.RELEASE'
    // https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web
    compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '2.1.6.RELEASE'

    // https://mvnrepository.com/artifact/org.projectlombok/lombok
    compileOnly group: 'org.projectlombok', name: 'lombok', version: '1.18.8'

    // junit 5
    // https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-engine
    testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.5.1'

    // mockito 全般
    // https://mvnrepository.com/artifact/org.mockito/mockito-core
    testCompile group: 'org.mockito', name: 'mockito-core', version: '3.0.0'

    // mockito ExtendWith
    // https://mvnrepository.com/artifact/org.mockito/mockito-junit-jupiter
    testCompile group: 'org.mockito', name: 'mockito-junit-jupiter', version: '3.0.0'

    // mockito assertThat().isEqualTo
    // https://mvnrepository.com/artifact/org.assertj/assertj-core
    testCompile group: 'org.assertj', name: 'assertj-core', version: '3.13.0'
}

春日引导器/春日引导器-启动器/春日引导器-启动器-网络

如果使用Spring Boot,将其放在基本库中而不需深入考虑。如果不创建Web应用程序,可以将spring-boot-starter-web排除掉也没问题。

롬복 – 新加坡开发的一个Java库,可以通过添加注解来简化Java代码的编写。它自动为开发人员生成样板代码,如POJO类的getter和setter方法,hashcode和equals方法。同时,它还提供了方便的注解,用于创建构造函数、自动生成日志和实现单例模式等等。使用Lombok,开发人员可以减少编写重复代码的工作量,并提高代码的可读性和维护性。

通过在类或方法上添加 @Getter 和 @Setter 注解,省去了编写getter和setter的需要。这真的非常方便。

有一些现场可能会要求不安装多余的插件。
但是,就我个人而言,为了提高开发效率,我认为在所有现场都应该是必需的。

JUnit-Jupiter

这个库是为了适配JUnit5而设计的。因为改进了在JUnit4中使用时不方便的问题,所以如果可能的话最好适配这个库。

mockito核心/mockito-junit-jupiter

Mockito是一個用於單元測試的函式庫,可以使用模擬物件。雖然有幾個模擬物件的函式庫可供選擇,但我認為這個在實際工作中非常值得了解,因此我使用它。

即使不使用mockito-junit-jupiter,也可以使用mock。但是,如果使用该库提供的@ExtendWith注解,可以通过对字段添加注解来创建mock。

可以减少测试代码的工作量。

断言核心

这个库也是用于单元测试的,它提供了丰富的验证方法和相关方法。
即使是在普通的JUnit中难以编写的内容,也可以轻松地进行验证。

总结

我为使用Spring Boot开发的示例项目做好了准备。

我认为在实际开发中,可能需要更多的库,但是从最小功能开始,逐步添加功能,准备这样的示例会更好。

近年,随着GitHub的兴起,个人也可以拥有并公开许多代码仓库。
虽然公司会提供代码仓库,但我认为个人也应该提前准备好自己的代码仓库,使得能够快速获取所需的信息。

常驻客户型工程师在现场不能携带自己的个人电脑的情况很常见,但受到限制获取GitHub源代码的情况却很少见。
为了确保自己能够愉快地工作,我们应该将整理好的源代码上传上去。

广告
将在 10 秒后关闭
bannerAds