背景

金融行业从业快十年,作为银行系开发人员来说开源框架了解不多非常正常,因为银行系的运行平台,基本上不会采购小厂商集合开源框架自建的产品,竞标的产品没有几十个成功案例,你也进不了这个门槛(有关系的除外,这个内幕都不说了 )。所以大多数开发人员(我不是大多数,得意.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自动生成的测试类可以用来验证自己的业务逻辑调用。

SpringBoot 第一篇:HelloWorld 跑起来的更多相关文章

  1. 《SpringBoot第一篇:HelloWorld启蒙》

    每篇一律 云对雨,雪对风,晚照对晴空. 来鸿对去雁,宿鸟对鸣虫. --<声律启蒙·一东> 什么是Spring Boot SpringBoot 是为了简化 Spring 应用的创建.运行.调 ...

  2. Java中JNI的使用详解第一篇:HelloWorld

    转自: http://blog.csdn.net/jiangwei0910410003/article/details/17465085 今天开始研究JNI技术,首先还是老套路,输出一个HelloWo ...

  3. SpringBoot 第一篇:入门篇

    作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/10819728.html 版权声明:本文为博主原创文章,转载请附上博文链接! 前言   博主从去年 ...

  4. Springboot第一篇:框架了解与搭建

    在上一章,我讲解了React+node+express相应的框架搭建,一个项目只有一个前端框架够么,当然不够啦!!! 所以这节我们就来讲后台springboot框架的搭建和相关原理吧~~~版本(2.1 ...

  5. 使用cnblogs发布第一篇文章,HelloWorld

    HelloWorld! 瞅瞅源码的样式,嗯,语法高亮还是可以的,辨识度还是挺高的. <!DOCTYPE html> <html> <head> <meta c ...

  6. 小BUG大原理 | 第一篇:重写WebMvcConfigurationSupport后SpringBoot自动配置失效

    一.背景 公司的项目前段时间发版上线后,测试反馈用户的批量删除功能报错.正常情况下看起来应该是个小BUG,可怪就怪在上个版本正常,且此次发版未涉及用户功能的改动.因为这个看似小BUG我了解到不少未知的 ...

  7. 从.Net到Java学习第一篇——开篇

    以前我常说,公司用什么技术我就学什么.可是对于java,我曾经一度以为“学java是不可能的,这辈子不可能学java的.”结果,一遇到公司转java,我就不得不跑路了,于是乎,回头一看N家公司交过社保 ...

  8. spring boot实战(第一篇)第一个案例

    版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   spring boot实战(第一篇)第一个案例 前言 写在前面的话 一直想将spring boot相关内容写成一个系列的 ...

  9. (转) 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)

    一.spring cloud简介 spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理.服务发现.断路器.路由.微代理.事件总线.全局锁.决策竞选.分布式会话等等.它运 ...

随机推荐

  1. 【原】Python基础-序列

    1 序列 在Python中,最基本的数据结构是序列,序列中每个元素被分配一个编号,也称为索引.第一个索引为0,第二个则是1,以此类推.序列中最后一个元素被标为-1,倒数第二个元素被标为-2,以此类推. ...

  2. Go By Example-值类型

    Go By Example-值类型 Go语言的数据类型可以分为值类型和引用类型,这里先说值类型. 值类型 值类型:在Go语言中int.float.bool和string这些类型都属于值类型,使用这些类 ...

  3. 2018-2019-2 网络对抗技术 20165222 Exp 8 Web基础

    1.实践内容 (1).Web前端HTML 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. 使用service apache2 start启 ...

  4. Linux内存使用情况以及内存泄露情况

    1. 内存使用情况分析 http://www.360doc.com/content/15/1118/13/17283_514054063.shtml https://www.linuxidc.com/ ...

  5. [转][PDA]Json.net

    文件下载 参考:https://www.cnblogs.com/freezing/p/4125862.html 参考:https://www.cnblogs.com/yunquan/p/7363110 ...

  6. 在Linux下使用LLVM Clang以及Blocks

    可以从这个链接下载:http://llvm.org/releases/download.html sudo apt-get install llvm sudo apt-get install clan ...

  7. 25 Flutter仿京东商城项目 购物车页面布局

    加群452892873 下载对应25课文件,运行方法,建好项目,直接替换lib目录,在往pubspec.yaml添加上一下扩展. cupertino_icons: ^0.1.2 flutter_swi ...

  8. 算法习题---3.12浮点数(UVa11809)

    一:题目 尴尬的非会员水印 二:题目摘要 1.int和float比较 int共32位,可以表示的最大的数为2^32次方 float虽然也是32位,但是是以指数形式保存,指数占8位(含符号),最大127 ...

  9. 算法习题---3.11换抵挡装置(UVa1588)

    一:题目 给你连个长度分别为n1,n2且每列高度只为1或2的长条,然后将他们拼在一起,高度不能超过3,问他们拼在一起的最短长度 二:实现思路 1.获取主动轮和从动轮的数据. 2.主动轮不动,从动轮从左 ...

  10. java数据类型,取值范围,引用类型解析

      与javascript不同,Java是强类型语言,在定义变量前需要声明数据类型.主要分两种数据类型:基本数据类型和引用数据类型. 1.基本数据类型分析: 基本数据类型 数值型 整数型 byte字节 ...