Spring Boot入门 第一部分

这篇文章是将本博客中的内容迁移到了Qiita上。虽然使用Spring Boot才过了一个多月,可能有些说明不恰当的地方,请您指出。

Spring_todo.png

1. Spring Boot 是什么?

Spring Framework是一个Java的Web框架,它于2003年创建,而Spring Boot则是于2014年创建的,它是基于Spring Framework并使其更易于使用的一个工具。
Spring Boot的特点之一是采用了依赖注入(DI)的思想。

进行Spring Boot开发所需的东西

・如果在Java之前进行开发,当然需要OpenJDK(Java开发框架)。如果使用的是现代的功能,至少需要8以上的版本。
・Spring Tool Suite(简称STS)。基于Eclipse的IDE。书上使用的是3.9.5版本,但在2019年4月,默认是4及更高版本,我使用的是4.1.2版本。
・Lombok(读作“隆博克”)。方便的库,只需添加注解即可自动生成getter和setter方法。只需双击下载的lombok.jar文件即可完成安装。
・数据库管理系统(既然是Web系统,肯定是必需的)。我认为应该使用自己平时常用的数据库管理系统。书上使用的是H2 Database,但我用的是我熟悉的MySQL。
・Pleiades(读作“普雷亚得斯”)。Eclipse的日语化插件。对于擅长英语的人来说可能不需要,但我安装了这个插件。安装方法请参考这里(链接为Windows的说明,但在Mac上也可以通过将下载的文件内容放入features和plugins文件夹中使用相同的方法进行安装)。
・Maven(读作“梅文”)。Java的构建工具。如果从官方网站下载并安装了STS,则应该没问题。但如果使用brew命令之类的进行安装,可以通过mvn -version确认是否安装成功,如果没有安装,可以从官方网站下载,或通过brew install maven进行安装。

3. 对于Spring Boot的配置进行了大致的解释。

在这里,我会简要介绍Spring Boot的架构,类似于与Laravel进行比较。需要注意的是,与Laravel不同的是,在Spring Boot中,没有固定的文件夹结构,因此需要自己考虑如何构建。Java源代码放置在src/main/java下,而其他(如html、css、js等)则放置在src/main/resources下。用于进行JUnit测试的源代码将放置在src/test下。

src/main/java(Java源代码文件)
・Application(主函数。使用@SpringBootApplication注解。当运行项目时,会调用此主函数。类似于Laravel的index.php。)
・Entity(数据定义。使用@Entity注解。导入lombok.Data并使用@Data注解,可以自动生成getter和setter。使用JPA(Java中处理数据库的标准技术)并且添加@Table(name = “表名”)注解,可以自动创建表。类似于Laravel的Model(位于app下)+迁移。)
・Repository(用于执行在Entity中定义的数据的CRUD(创建、读取、更新、删除)基本操作,定义为继承JpaRepository的接口。这是Laravel中没有的功能。)
・Controller(担任MVC中的C,与Laravel的Controller类似,但对数据的处理通过调用下面将要介绍的Service来实现。在类上使用@Controller注解。另外,如果是Get方法,可以在方法上使用@GetMapping(value=”(URL)”)注解,如果是Post方法,则可以在方法上使用@PostMapping(value=”(URL)”)注解来映射请求。所以,在Laravel中,它可能类似于Controller + 路由。)
・Service(实现对数据的处理,并将其传递给Controller。Laravel中没有这个功能,但可以说是连接Model和Controller的东西。在类上使用@Service注解。实际处理是调用Repository的CRUD操作来实现。)
・Form(用于将HTML表单中输入的值传递给控制器的类。经常用于验证等。类似于Laravel的Request?)

src/main/resources(フロントエンドなど)
・Thymeleaf(タイムリーフと呼ばれます。この名前は植物のハーブから取られています。これは一種のテンプレートエンジンであり、LaravelではBladeがデフォルトですが、Spring Bootではさまざまなテンプレートエンジンがサポートされているようです。)
・application.properties(このファイルはアプリケーションの設定値を保存するもので、Laravelのconfig配下のファイルに近い概念です。ここでは、使用するデータベースの設定なども行います。)

由於以上的解釋是匆匆忙忙地寫出來的,所以變成了粗略的說明。但是,當我寫第二部分時,我希望能夠更詳細地描述。