自定义 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