在spring和gradle中尝试显示helloworld
首先我们尝试进行Java环境的设置,并在控制台上输出helloworld,这是一个初步的尝试。
这次我们将进一步进行spring项目的开发,尝试显示HTML页面。
如果你还没有添加spring,或者不知道如何添加,可以参考之前的文章。
在Eclipse中添加spring boot和gradle。
在Eclipse中安装插件。
试着创建一个Spring项目
“依存关系是什么?”
关于在第4步中描述的依赖关系。老实说,我不太理解,但似乎是在这里选择要使用的Spring框架。好比是选择了要请求Gradle先生这个东西。通过修改Gradle的配置文件,稍后可以进行添加。 (如果我有不正确的认识,请告诉我,我将不胜感激)
我会查看创建的项目中的内容。
Gradle的配置文件是build.gradle,所以我会尝试打开它。
plugins {
id 'org.springframework.boot' version '2.3.2.RELEASE'
id 'io.spring.dependency-management' version '1.0.9.RELEASE'
id 'java'
}
group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'
repositories {
mavenCentral()
}
dependencies {
/*追加されている↓*/
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-web-services'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
/*追加されている↑*/
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
}
test {
useJUnitPlatform()
}
在选择依存关系时,已经添加了四个选项,对吧?对于这方面,我也还缺乏知识,所以我希望将来能总结一下。
输出”Hello World”
1.新增HTML
通常情况下,我们会将HTML文件放置在src/main/resources内的templates目录中。
右键点击templates => [新建] => [其他],然后创建一个名为hello的HTML文件。
<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<title>hello</title>
</head>
<body>
<h1>Hello World!!</h1>
</body>
</html>
加入控制器
添加一个名为helloSpring.Controller的包,并在其中创建HelloController.java。
package helloSpring.Controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class HelloController {
@RequestMapping(value = "/", method = RequestMethod.GET)
public String hello() {
return "hello";
}
}
需要注意的是创建Controller的位置。
项目的main方法HelloSpringApplication.java必须与启动类位于同一包或其子包下,否则无法正确加载,会出现404错误。
你可以选择将其创建在helloSpring包内,或者按照我们刚刚介绍的方式,添加一个专门用于Controller的包,请注意包名。
控制器是做什么的?
在Web框架中,用于整理常见的应用程序配置的概念之一是MVC(Model-View-Controller)模式,其中C代表控制器。虽然这可能听起来很复杂,但我们稍后将详细梳理,现在只做简单解释。
HTML只是简单地创建而不能在屏幕上显示,所以需要有能够显示它的控制器。控制器是用来写明当收到此URL时要执行的操作。
看一下代码的内容
首先,以”@”开头的东西被称为”注释”。注释是指附注的意思。
通过写入@Controller来声明这个类是一个Controller哦~
在@RequestMapping中,我们写入处理当收到什么样的请求时的逻辑处理。
导入是为了使用它们而编写的。
如果用中文来解释这段代码,从@Controller开始,这是一个HelloController类的控制器。当收到”/”这个URL的GET请求时,将执行hello函数。在hello函数中,写入了返回hello文件的处理过程。
执行
平安無事地完成了輸出。
我想尝试动态更改输出的字符。
下一个步骤是使用Thymeleaf动态地创建HTML页面(使用Spring和Gradle)。