摘要:比如日志默认使用作为第一选择,默认集成了,并且支持配置使用貌似和有点变化,暂时不折腾了单元测试
环境:Spring Boot 1.5.4
基于 Spring Boot 创建一个命令行应用,先来个最基本的体验,体验一下:
配置管理(配置文件加载,多环境配置文件)
日志
单元测试
创建项目比较好的两种方法:
通过 https://start.spring.io/ 网站,生成项目框架,导入到 IDE
IDEA 有Spring Boot的插件,直接按照提示创建
其他
创建个最基本的应用,包含了devtools,logging,test,以及maven插件:
...配置管理 修改 banner... org.springframework.boot spring-boot-starter-parent 1.5.3.RELEASE org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-starter-logging org.springframework.boot spring-boot-devtools runtime org.springframework.boot spring-boot-starter-test test ... org.springframework.boot spring-boot-maven-plugin
Spring Boot 的默认 banner:
. ____ _ __ _ _ / / ___"_ __ _ _(_)_ __ __ _ ( ( )\___ | "_ | "_| | "_ / _` | / ___)| |_)| | | | | || (_| | ) ) ) ) " |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v1.5.3.RELEASE)
resources 目录下创建一个 banner.txt 文件可以修改,并且还提供了一些参数,可以配色。
当然也可以在配置文件或入口处关闭:
spring.main.banner-mode=off
或
public static void main(String[] args) { SpringApplication application = new SpringApplication(HelloApplication.class); application.setBannerMode(Banner.Mode.OFF); application.run(args); }
关闭 banner 竟然还弄这么多方式,我也是醉了,其实只是展示一下在入口处还可以进行很多应用的配置罢了。
自定义属性如果不是特殊的应用场景,就只需要在 application.properties 中完成一些属性配置就能开启各模块的应用。
application.properties:
mysql.host=default mysql.user=default_user mysql.mix=${mysql.host}/${mysql.user}
如上所示:参数之间也可以使用变量直接引用来使用
定义 MysqlProperties Class:
@Component public class MysqlProperties { @Value("${mysql.host:localhost}") private String host; @Value("${admin.user:root}") private String user; // 省略getter、setter、toString }
@Value 注解未免有点蛋疼
可以使用 @ConfigurationProperties 注解直接配置个属性前缀,同时还可以加载一个额外的 .properties 文件
app.properties:
app.name=hello app.version=1.0
定义 AppProperties Class:
@Component @PropertySource("classpath:app.properties") @ConfigurationProperties(prefix = "app") public class AppProperties { private String name; private String version; // 省略getter、setter、toString }命令行运行
Spring Boot 默认 Application 定义了 main 方法入口,所以要实现一个命令行运行的应用,需要实现 CommandLineRunner 接口,覆写 run 方法,这样命令行参数就通过变长参数 strings 接受到。
@SpringBootApplication public class HelloApplication implements CommandLineRunner { @Override public void run(String... strings) throws Exception { } }多环境配置
Spring Boot中多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识,如:
application-dev.properties:开发环境 application-test.properties:测试环境
同时,需要在application.properties文件中通过spring.profiles.active属性来设置,其值对应{profile}值,并且可以设置多个。
其次,通过命令行参数 --spring.profiles.active=test 可以切换多环境。比如:
java -jar xxx.jar --spring.profiles.active=test日志
Spring Boot 默认使用 Logback 作为第一选择,默认集成了 slf4j,并且支持配置使用 Log4j:
org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-starter-logging org.springframework.boot spring-boot-starter-log4j2
log4j2 貌似和 log4j 有点变化,暂时不折腾了
单元测试文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/67254.html
摘要:开始介绍简化了基于的应用开发,你只需要就能创建一个独立的,产品级别的应用。该包含很多搭建,快速运行项目所需的依赖,并提供一致的,可管理传递性的依赖集。日志级别通过标识开启控制台级别日志记录,也可以在中指定日志级别配置示例 开始 介绍 Spring Boot 简化了基于 Spring 的应用开发,你只需要 run 就能创建一个独立的,产品级别的 Spring 应用。 Spring 平台...
摘要:不过可以切换到版本,兼容性未知。注解一旦添加了依赖会判断这是一个应用,并启动一个内嵌的容器默认是用于处理请求。注意中空字符串与的区别。 环境:Spring Boot 1.5.4 基于 Spring Boot 可以快速创建一个Web & Restful 应用,在开始应用之前,至少要了解以下用法: 定义路由,定义 HTTP 方法 获取Header、GET、POST、路径等参数 Cooki...
摘要:本文只是引子,后续更新到独立章节。尤其是,这也是现在号称流行的组合。幸亏现在看起来不主流了。增删改查多条件组合查询分页,排序等多表关联。而每个类写上构造函数,,实在是蛋疼。 本文只是引子,后续更新到独立章节。 环境:Spring Boot 1.5.4 到了操作数据库的环节,以 MySQL 为基准,体验一下数据库的相关操作,先让我纠结一下,至少有以下四种姿势。 JDBC。原生的 JD...
摘要:响应式编程是基于异步和事件驱动的非阻塞程序,只是垂直通过在内启动少量线程扩展,而不是水平通过集群扩展。三特性常用的生产的特性如下响应式编程模型适用性内嵌容器组件还有对日志消息测试及扩展等支持。 摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! 02:WebFlux 快速入门实践 文章工程: JDK...
摘要:关联关系的关联关系定义上,感觉并不是很灵活,姿势也比较难找。如,定义在关联关系上的参数可以设置级联的相关东西。因为序列化会涉及到实体类关联对象的获取,会触发所有的关联关系。 接(4) - Database 系列. Java Persistence API,可以理解就是 Java 一个持久化标准或规范,Spring Data JPA 是对它的实现。并且提供多个 JPA 厂商适配,如 Hi...
阅读 968·2023-04-26 02:21
阅读 2716·2021-09-24 09:47
阅读 1536·2019-08-30 15:55
阅读 2097·2019-08-30 14:01
阅读 2258·2019-08-29 14:01
阅读 1953·2019-08-29 12:46
阅读 763·2019-08-26 13:27
阅读 1858·2019-08-26 12:23