自定义 Banner
在 Spring Boot 启动的时候会有一个默认的启动图案
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.5.8.RELEASE)
我们在 src/main/resources
目录下新建一个 banner.txt
通过 http://patorjk.com/software/taag 网站生成字符串,将网站生成的字符复制到 banner.txt 中
再次运行这个程序
${AnsiColor.BRIGHT_RED}
////////////////////////////////////////////////////////////////////
// _ooOoo_ //
// o8888888o //
// 88" . "88 //
// (| ^_^ |) //
// O\ = /O //
// ____/`---'\____ //
// .' \\| |// `. //
// / \\||| : |||// \ //
// / _||||| -:- |||||- \ //
// | | \\\ - /// | | //
// | \_| ''\---/'' | | //
// \ .-\__ `-` ___/-. / //
// ___`. .' /--.--\ `. . ___ //
// ."" '< `.___\_<|>_/___.' >'"". //
// | | : `- \`.;`\ _ /`;.`/ - ` : | | //
// \ \ `-. \_ __\ /__ _/ .-` / / //
// ========`-.____`-.___\_____/___.-`____.-'======== //
// `=---=' //
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ //
// 佛祖保佑 永不宕机 永无BUG //
////////////////////////////////////////////////////////////////////
常用属性设置:
-
${AnsiColor.BRIGHT_RED}
:设置控制台中输出内容的颜色 -
${application.version}
:用来获取MANIFEST.MF
文件中的版本号 -
${application.formatted-version}
:格式化后的${application.version}
版本信息 -
${spring-boot.version}
:Spring Boot 的版本号 -
${spring-boot.formatted-version}
:格式化后的${spring-boot.version}
版本信息
配置文件
Spring Boot 项目使用一个全局的配置文件 application.properties
或者是 application.yml
,在 resources
目录下或者类路径下的 /config
下,一般我们放到 resources
下。
修改 Tomcat 的端口为 9090,并将默认的访问路径 "/" 修改为 "boot",可以在 application.properties
中添加:
server.port=9090
server.context-path=/boot
或在 application.yml 中添加:
server:
port: 9090
context-path: /boot
测试效果:
Starter POM
Spring Boot 为我们提供了简化企业级开发绝大多数场景的 starter pom ,只要使用了应用场景所需要的 starter pom ,相关的技术配置将会消除,就可以得到 Spring Boot 为我们提供的自动配置的 Bean。
日志配置
Spring Boot 对各种日志框架都做了支持,我们可以通过配置来修改默认的日志的配置
默认情况下,Spring Boot 使用 Logback 作为日志框架
logging:
file: ../logs/spring-boot-hello.log
level.org.springframework.web: DEBUG
关闭特定的自动配置
关闭特定的自动配置使用 @SpringBootApplication
注解的 exclude
参数即可,这里以关闭数据源的自动配置为例
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
动态启用服务器端口
Spring Boot
项目在不同的环境下(开发,测试,生产),服务端口不一致怎么办?
Spring Boot
针对于不同的环境提供了Profile
支持。通过profile
的设定来查找不同的配置文件。
application-product.properties :
server.port=8081
application-test.properties:
server.port=8082
:::tip 注意
application-xxx.properties中的application-部分是固定的,后面的名字可以自定义
:::
打包项目为jar包,输入命令行参数:java -jar hello.jar --spring.profiles.active=test
项目运行
jar需要运行时指定端口:
java -jar xxxx.jar server.port=90
在守护进程下运行:
nohup java -jar xxx.jar --serverport=89 >info.log &
找出占用端口进程的pid:
sudo lsof -i:port
终止进程:
sudo kill -9 pid