【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源代码的情况却很少见。
为了确保自己能够愉快地工作,我们应该将整理好的源代码上传上去。