二.二.三.四 添加 测试类 HelloApplicationTests
放置在 test 目录 下
package org.yueshushu.learn; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest class HelloApplicationTests { @Test void contextLoads() { System.out.println("谢谢你,我是MavenHelloWorld 部分的两个蝴蝶飞"); } }
点击 contextLoads() 方法进行测试
Idea 可以通过这两种方式,创建 SpringBoot项目。 推荐使用 Maven的方式。
三. SpringBoot版的 HelloWorld
开发中,都是使用的Web 方式开发。既然我们依赖,选择了 spring-boot-starter-web, 那么就开发一个简单的 Web 项目看看。
三.一 搭建一个简单的 SpringBoot 环境
具体方式可以看 第二章节部分。
采用的是 Idea 通过 Maven 方式 创建的那个 MavenHelloWorld 项目进行演示。
三.二 添加 Controller 层 url处理类
注意, controller层与 HelloApplication 同级。
@SpringBootApplication 注解,会扫描所在的包和子包。
如果将 HelloController 放置在 org.yueshushu.learn 包下,会扫描到。
如果 放置在 org.yueshushu 包下,不会扫描到。 org包下,也扫描不到。
package org.yueshushu.learn.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; /** * @ClassName:HelloController * @Description TODO * @Author 岳建立 * @Date 2021/4/9 20:55 * @Version 1.0 **/ //1. 添加了一个RestController的注解 @RestController public class HelloController { //2.请求地址是 / @GetMapping("/") public String toHello(){ return "谢谢你来访问我,我是两个蝴蝶飞"; } //3. 请示地址是 /info @GetMapping("/info") public String info(){ return "我是两个蝴蝶飞,目前在杭州,我是一个快乐的程序员"; } }
三.三 启动 HelloApplication 类
启动 HelloApplication 类,运行main() 方法
"D:\Program Files\Java\jdk1.8.0_91\bin\java.exe" -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain ...... 1.7.29.jar;G:\Jar_repository\org\springframework\spring-core\5.2.2.RELEASE\spring-core-5.2.2.RELEASE.jar;G:\Jar_repository\org\springframework\spring-jcl\5.2.2.RELEASE\spring-jcl-5.2.2.RELEASE.jar" org.yueshushu.learn.HelloApplication . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.2.2.RELEASE) 2021-04-09 21:02:08.678 INFO 15952 --- [ main] org.yueshushu.learn.HelloApplication : Starting HelloApplication on yuezl with PID 15952 (D:\githubBoot\springboot\MavenHelloWorld\target\classes started by 12905 in D:\githubBoot\springboot\MavenHelloWorld) 2021-04-09 21:02:08.680 INFO 15952 --- [ main] org.yueshushu.learn.HelloApplication : No active profile set, falling back to default profiles: default 2021-04-09 21:02:09.191 INFO 15952 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) 2021-04-09 21:02:09.197 INFO 15952 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2021-04-09 21:02:09.197 INFO 15952 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.29] 2021-04-09 21:02:09.246 INFO 15952 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2021-04-09 21:02:09.246 INFO 15952 --- [ main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 539 ms 2021-04-09 21:02:09.333 INFO 15952 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor' 2021-04-09 21:02:09.429 INFO 15952 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' 2021-04-09 21:02:09.433 INFO 15952 --- [ main] org.yueshushu.learn.HelloApplication : Started HelloApplication in 0.966 seconds (JVM running for 1.578) 欢迎我,我是两个蝴蝶飞,我启动了!!!!
控制台可以正常的打印输出
输入网址: http://localhost:8080/
可以通过网址,正常的访问。
三.四 启动控制台打印的输出语句
//1. 启动的虚拟机位置,启动的参数,启动时依赖的jar包 和启动类 "D:\Program Files\Java\jdk1.8.0_91\bin\java.exe" -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain ...... 1.7.29.jar;G:\Jar_repository\org\springframework\spring-core\5.2.2.RELEASE\spring-core-5.2.2.RELEASE.jar;G:\Jar_repository\org\springframework\spring-jcl\5.2.2.RELEASE\spring-jcl-5.2.2.RELEASE.jar" org.yueshushu.learn.HelloApplication //2. 启动成功的图案。 显示 版本号。可以修改 . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.2.2.RELEASE) //3. 启动app 2021-04-09 21:02:08.678 INFO 15952 --- [ main] org.yueshushu.learn.HelloApplication : Starting HelloApplication on yuezl with PID 15952 (D:\githubBoot\springboot\MavenHelloWorld\target\classes started by 12905 in D:\githubBoot\springboot\MavenHelloWorld) //4. 找配置环境文件,可以选择的。没有的话,走默认 2021-04-09 21:02:08.680 INFO 15952 --- [ main] org.yueshushu.learn.HelloApplication : No active profile set, falling back to default profiles: default //5. 启动的服务器 tomcat初始化 和端口号 8080 2021-04-09 21:02:09.191 INFO 15952 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) //6. 开启 tomcat 服务 2021-04-09 21:02:09.197 INFO 15952 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] //7. 启动 Servlet 引擎 2021-04-09 21:02:09.197 INFO 15952 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.29] //8. 初始化 Spring 上下文 2021-04-09 21:02:09.246 INFO 15952 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext //9.初始化完成时间 2021-04-09 21:02:09.246 INFO 15952 --- [ main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 539 ms //10. 初始化服务任务 2021-04-09 21:02:09.333 INFO 15952 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor' //11. tomcat 启动时的端口号和路径 path(目前为 空) 2021-04-09 21:02:09.429 INFO 15952 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' //12. 服务启动成功,启动的总时间 2021-04-09 21:02:09.433 INFO 15952 --- [ main] org.yueshushu.learn.HelloApplication : Started HelloApplication in 0.966 seconds (JVM running for 1.578) 欢迎我,我是两个蝴蝶飞,我启动了!!!!
三.五 打包并控制台方式运行
Terminal 控制台 进行安装
静静等待,直到运行成功。
查看磁盘目录,发现确实有这么一个jar包,时间上也是符合的.
通过 cmd 的 java -jar Xxx.jar 的方式进行运行程序。
D:\githubBoot\springboot\MavenHelloWorld\target>java -jar learn-0.0.1-SNAPSHOT.jar
浏览器访问时,可以正常的响应
关闭 cmd 窗口后,再次请求,就请求不到了。
本章节的代码放置在 github 上:
https://github.com/yuejianli/springboot/tree/main/MavenHelloWorld
谢谢您的观看,如果喜欢,请关注我,再次感谢 !!!