前奏
最近在面試,有一家公司在談的時候,發了一份後端筆試題給我,是java的......
我TMD是個運維誒,你給我一套SRE題不行嘛......
瑪德現在都這麼捲了嗎,SRE要去卷java啦......
SpringBoot
對於Java的很多東西我並不懂,但是我知道寫java的後端都會用到Spring全家桶,包括SpringBoot、SpringCloud、SpringSecurity等等。
那怎麼辦呢,跟着卷唄。
於是我就查了SpringBoot官網,寫出了第一個demo -- helloworld
HelloWorld
以下內容摘抄自Spring官網
運行環境:Ubuntu22.04
前提條件
- 安裝jdk17
apt install openjdk-17-jre-headless -y
如果機器上有多個jdk版本,需要將其設置爲jdk17
root@ubuntu-linux-22-04-desktop:~# update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-17-openjdk-arm64/bin/java 1711 auto mode
1 /usr/lib/jvm/java-17-openjdk-arm64/bin/java 1711 manual mode
2 /usr/lib/jvm/java-8-openjdk-arm64/jre/bin/java 1081 manual mode
Press <enter> to keep the current choice[*], or type selection number: 0
正式步驟
-
打開spring打包器(https://start.spring.io/) ,選擇相應的選項與版本,並選擇Spring Web做爲依賴並下載。
下載之後,是一個zip包,解壓後得到項目本體。 -
修改src/java/com/example/demo/DemoApplication.java,複製以下內容:
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@GetMapping("/hello")
public String hello(@RequestParam(value = "name", defaultValue = "World") String name) {
return String.format("Hello %s!", name);
}
}
- 運行,之後就會啓動項目
young@ubuntu-linux-22-04-desktop:~/demo$ ./gradlew bootRun
> Task :bootRun
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v3.0.6)
2023-04-25T22:53:19.088+08:00 INFO 4040654 --- [ main] com.example.demo.DemoApplication : Starting DemoApplication using Java 17.0.6 with PID 4040654 (/home/young/demo/build/classes/java/main started by young in /home/young/demo)
2023-04-25T22:53:19.090+08:00 INFO 4040654 --- [ main] com.example.demo.DemoApplication : No active profile set, falling back to 1 default profile: "default"
2023-04-25T22:53:19.838+08:00 INFO 4040654 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
2023-04-25T22:53:19.843+08:00 INFO 4040654 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2023-04-25T22:53:19.843+08:00 INFO 4040654 --- [ main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.8]
2023-04-25T22:53:19.905+08:00 INFO 4040654 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2023-04-25T22:53:19.912+08:00 INFO 4040654 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 693 ms
2023-04-25T22:53:20.135+08:00 INFO 4040654 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
2023-04-25T22:53:20.139+08:00 INFO 4040654 --- [ main] com.example.demo.DemoApplication : Started DemoApplication in 1.34 seconds (process running for 1.725)
- 使用http://
:8080/hello去訪問8080端口
第一個項目就跑起來了。
後記
目前這個就業環境真的很糟糕啊,裁員的裁員,降薪的降薪,作爲一個小菜狗,能做的也只是提升自己的能力,擴展自己的眼界,開拓自己的心胸,保持良好的生活習慣,保持健康,保持向上,保持尊嚴。
與諸君共勉!