背景
金融行業從業快十年,作爲銀行系開發人員來說開源框架了解不多非常正常,因爲銀行系的運行平臺,基本上不會採購小廠商集合開源框架自建的產品,競標的產品沒有幾十個成功案例,你也進不了這個門檻(有關係的除外,這個內幕都不說了 )。所以大多數開發人員(我不是大多數,得意.jpg)在銀行系接觸的更多的是各大金融行業服務商自己的產品,這些產品裏面也集成有像Spring、SpringBoot之類的框架,當然,你一個應用開發人員只需要寫寫業務邏輯,底層平臺實現是接觸不到的,會用就行了。
平時工作也比較忙,每天客戶的需求要分析、要討論、要設計、要開發、要測試、要上線,相信做金融這行的人都明白,996雖然網上炒得不可開交,反正我們真的都是常態(心平氣和.jpg),真的就是這麼無限循環,哪有多餘的時間給你研究這些網上的五花八門的框架(休假除外)。
最近來了新人,啥都不太懂,又和我諮詢SpringBoot框架的事,我也沒實際弄過,瞭解的都是一點概念上的東西,心想怕給人教壞了所以來實操一下,順便給人實際指導一下。
環境
開發工具: IntelliJ IDEA 2019.1.4 (不要跟我提Eclipse一樣好用,不接受,用了你纔有資格來討論)
基礎環境: jre 1.8.0_211
Maven:apache-maven-3.6.1
SpringBoot:2.1.7.RELEASE 目前最新的正式版
開發之前你要做的是
1、下載IDEA,並安裝好,並註冊。度娘幫你搞定
2、下載Maven對應的版本放到本地目錄,然後IDEA配置 File-> Settings –> Build,Execution –> Maven ,修改 User settings file 裏面爲自己的maven配置文件。初期可以選擇默認,我是由於用到了自己的私服所以有修改的必要性,有需要看私服的戳我之前的 Nexus3.0搭建私服上傳JAR包
開發步驟
1、新建項目 Create New Project,選擇 Spring Initializr –> 選擇SDK 這裏選擇在你電腦上安裝的JDK,如果沒有顯示則選擇下圖的2來添加自己的JDK目錄,點擊 Next 。
2、主要是填寫建立項目的相關資料,根據自己的實際需求來填,點擊Next 。
3、選擇Web- > Spring Web Starter, 這是通過SpringBoot建立WEB項目的模式。
4、Next之後輸入項目名稱,這個項目名稱就是最終顯示在你左側導航裏面的項目名。這裏保持不動。直接點擊 Finish 。
查看下 pom.xml 文件內容,都是默認的,項目自動都給你配置好了:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.7.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.mm</groupId> <artifactId>work</artifactId> <version>0.0.1-SNAPSHOT</version> <name>work</name> <description>First Project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
5、項目建立完成後,在com.mm.work包下新建 controller 包,新建一個類 HelloWorld如下:
package com.mm.work.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloWorld { @RequestMapping("/") public String test(){ return "Hello World!"; } }
6、直接運行項目。
有沒有發現一些情況?web項目我的中間件沒有咋啓動了,web.xml沒配置,Spring 沒配置 ,全部都不需要配置了。
看啓動日誌能看到一些情況:
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.1.7.RELEASE) 2019-08-08 11:14:04.343 INFO 10172 --- [ main] com.mm.work.WorkApplication : Starting WorkApplication on Locus with PID 10172 (E:\Workspaces\work\target\classes started by Locus in E:\Workspaces\work) 2019-08-08 11:14:04.347 INFO 10172 --- [ main] com.mm.work.WorkApplication : No active profile set, falling back to default profiles: default 2019-08-08 11:14:05.162 INFO 10172 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) 2019-08-08 11:14:05.178 INFO 10172 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2019-08-08 11:14:05.178 INFO 10172 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.22] 2019-08-08 11:14:05.267 INFO 10172 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2019-08-08 11:14:05.267 INFO 10172 --- [ main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 870 ms 2019-08-08 11:14:05.400 INFO 10172 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor' 2019-08-08 11:14:05.524 INFO 10172 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' 2019-08-08 11:14:05.529 INFO 10172 --- [ main] com.mm.work.WorkApplication : Started WorkApplication in 1.628 seconds (JVM running for 2.565) 2019-08-08 11:14:13.708 INFO 10172 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' 2019-08-08 11:14:13.709 INFO 10172 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' 2019-08-08 11:14:13.714 INFO 10172 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 5 ms系統啓動時自動全部給你做了,方便開發人員更需要關注的是業務邏輯而不是各種環境配置。
打開頁面訪問:http://localhost:8080/,項目就完成了。
單元測試
項目過程中很多自己單獨的業務邏輯需要測試,每次通過修改-重啓項目-驗證-再次修改-再次重啓項目驗證會嚴重影響單元測試進度。
項目的test包下有SpringBoot自動生成的測試類可以用來驗證自己的業務邏輯調用。