需求
使用SpringBoot开发一个web应用,浏览器发起请求/hello后,给浏览器返回字符串 hello world~
步骤
1.创建Maven工程
2.导入spring-boot-stater-web起步依赖
3.编写controller
4.提供启动类
pom.xml文件了解
启动类
新建包
创建类
package com.zwh.springbootquickstart.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {@RequestMapping("/hello")public String hello() {return "Hello World";}
}
运行
端口号
结果
遇到的问题
问题1
问题2
问题3
问题出在Maven尝试从中央仓库(https://repo.maven.apache.org/maven2 )下载commons-io:commons-io:jar:2.11.0
时失败,并且这个失败被缓存到了本地仓库,导致后续的构建过程中不再尝试重新下载该依赖
解决
添加镜像使其需要的包完整下载
<!-- 配置阿里云仓库 -->
<repositories><repository><id>aliyun-repos</id><url>https://maven.aliyun.com/repository/public</url><releases><enabled>true</enabled></releases><snapshots><enabled>false</enabled></snapshots></repository>
</repositories>
<pluginRepositories><pluginRepository><id>aliyun-repos</id><url>https://maven.aliyun.com/repository/public</url><releases><enabled>true</enabled></releases><snapshots><enabled>false</enabled></snapshots></pluginRepository>
</pluginRepositories>
问题4
警告信息指出,在未命名模块中调用了受限方法java.lang.System::load
,并且建议使用--enable-native-access=ALL-UNNAMED
参数来避免警告。如果不启用原生访问,未来版本中这些受限方法将被阻止。
给当前工程添加
--enable-native-access=ALL-UNNAMED--add-opens java.base/java.lang=ALL-UNNAMED
给模版添加,为了方便之后使用