三 搭建第一个springboot项目
程序员文章站
2022-04-19 22:43:31
...
1 创建springboot项目常用方法:
- 在 start.spring.io 创建
- 在IDE创建,比如idea:file-new-project-Spring initializr 按要求填信息,下一步下一步完成。
本质上这两种方法是一样的,都是帮你快速生成了基础代码和目录结构而已
2 关键代码如下
- pom文件:
<?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>
<groupId>com.example</groupId>
<artifactId>myproject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.3.RELEASE</version>
</parent>
<!-- Additional lines to be added here... -->
</project>
说明:以spring-boot-starter-parent为父依赖,它指定了资源/配置文件默认路径、用Management指定了常见插件和依赖的版本,这些包版本是经过测试不会冲突的,我们使用这些依赖的时候,尽量使用默认版本。
- 为了能启动,我们需要引入
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
说明:spring-boot-starter-web 引入之后,会引入jackson、tomcat、springmvc等依赖。
- 启动类
import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.web.bind.annotation.*;
@RestController
@EnableAutoConfiguration
public class Example {
@RequestMapping("/")
String home() {
return "Hello World!";
}
public static void main(String[] args) {
SpringApplication.run(Example.class, args);
}
}
说明:springboot用启动类的main方法启动,@RestController标记这是一个springmvc的controller, @EnableAutoConfiguration 表示启用自动配置,它会根据你引入的jar包list去“猜”你需要的配置,这是springboot的亮点之一。 具体注解说明会在后续讲解。
3 启动
在IDE运行main方法,或者在项目根目录运行 mvn spring-boot:run
,就可以启动这个项目。会看到如下打印:
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.1.3.RELEASE)
....... . . .
....... . . . (log output here)
....... . . .
........ Started Example in 2.222 seconds (JVM running for 6.514)
这个时候访问 localhost:8080,可以得到:
Hello World!
4 特别建议
- 强烈推荐使用 spring-boot-starter-parent。
- 尽量不要去特殊指定spring 框架的版本,每一个springboot的版本几乎都对应一个spring framework的基础版本。spring相关的东西,比如AOP,都不要去指定版本,spring-boot-starter-parent会给您安排一个最适合的版本。
5 赠送一个linux下springboot项目的脚本
#!/bin/bash
#这里可替换为你自己的执行程序,其他代码无需更改,建议用绝对路径,那么脚本和jar包就不用放到一个目录
APP_NAME=xxl-code-generator-admin-0.0.1-SNAPSHOT.jar
LOG_DIR=/home/exter/xxl-generator/log/xxl-code-generator-admin.log
#使用说明,用来提示输入参数
usage() {
echo "Usage: sh 执行脚本.sh [start|stop|restart|status|taillog]"
exit 1
}
#检查程序是否在运行
is_exist(){
pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `
#如果不存在返回1,存在返回0
if [ -z "${pid}" ]; then
return 1
else
return 0
fi
}
#启动方法
start(){
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is already running. pid=${pid} ."
else
nohup java -jar $APP_NAME > /dev/null 2>&1 &
fi
}
#停止方法
stop(){
is_exist
if [ $? -eq "0" ]; then
kill -9 $pid
else
echo "${APP_NAME} is not running"
fi
}
#输出运行状态
status(){
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is running. Pid is ${pid}"
else
echo "${APP_NAME} is NOT running."
fi
}
#重启
restart(){
stop
start
}
#tail 日志
taillog(){
tail -1000f $LOG_DIR
}
#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
"taillog")
taillog
;;
*)
usage
;;
esac
转载于:https://www.jianshu.com/p/b3346ea14e92
上一篇: 关于一个姿势的笑话
下一篇: 关于深拷贝和浅拷贝的一些事
推荐阅读
-
SpringBoot环境搭建及第一个程序运行(小白教程)
-
创建基于ASP.NET core 3.1 的RazorPagesMovie项目(三)-已搭建基架的Razor页面解释和更新
-
我的第一个netcore2.2 api项目搭建(三)
-
基于【 springBoot +springCloud+vue】的项目之一 || 后端搭建
-
eclipse搭建springboot的项目
-
Django项目: 项目环境搭建 ---- 三、在码云平台创建项目&推送到码云上
-
SpringBoot技术栈搭建个人博客【项目准备】
-
(三)创建基于maven的javaFX+springboot项目创建
-
第一个SpringBoot项目
-
JAVA SpringBoot 项目打成jar包供第三方引用自动配置(Spring发现)解决方案