springboot学习心得
1、mvn package --加载运行一个含有pom.xml的目录并生成target目录
2、mvn dependency:tree 显示项目所有依赖的树状结构
3、业务委托给了Spring Boot的SpringApplication类-通过调用run()执行
4、mvn spring-boot:run 启动服务程序 【localhost:8080执行访问】
5、jar tvf [jar所在目录] 查看jar内部结构
6、java -jar [jar所在目录] 运行一个可执行jar包
7、通过下面代码更改jdk版本:
<properties>
<java.version>1.8</java.version>
</properties>
8、可以通过将 @EnableAutoConfiguration 或 @SpringBootApplication 注解添加到一个 @Configuration 类上来选择自动配置
9、只需要添加一个 @EnableAutoConfiguration 注解。建议你将它添加到主 @Configuration 类上
10、【非侵占性】如果添加自己的 DataSource bean,默认的内嵌数据库支持将不被考虑。
11、【禁用特定的自动配置】eg: @ EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
12、 @ Service Bean的示例,它使用构建器注入获取一个需要的 RiskAssessor bean。
13、 @SpringBootApplication // same as @Configuration @EnableAutoConfiguration @ComponentScan
14、 STS用户可以使用 Relaunch 按钮而不是 Run 按钮
15、运行一个打包的程序并开启远程调试是支持的。代码如下:
java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8000,suspend=n \
-jar target/learn-0.0.1-SNAPSHOT.jar
16、想使用有用的操作系统环境变量:
MAVEN_OPTS=-Xmx1024m -XX:MaxPermSize=128M -Djava.security.egd=file:/dev/./urandom
("egd"设置是通过为Tomcat提供一个更快的会话keys熵源来加速Tomcat的。)
17、通过在classpath下添加一个banner.txt或设置banner.location来指定相应的文件可以改变启动过程中打印的banner
18、要创建一个分层的ApplicationContext(多个具有父子关系的上下文),代码如下:
new SpringApplicationBuilder()
.showBanner(false)
.sources(Parent.class)
.child(Application.class)
.run(args);
19、设置环境是否属于web:setWebEnvironment(boolean webEnvironment)【适用于Junit测试】
20、如果application.properties属性文件存在环境变量中[系统中或者ide中],则会直接被环境读取
因此,如果想设置环境的port,则只需要在该文件中添加server.port=[指定的port]就可以了。
21、特定的Profile属性:
除了application.properties文件,特定配置属性也能通过命令惯例application-{profile}.properties来定义。【特定profile文件会覆盖默认的配置】
22、用@ PropertySource注解可以加载.properties,但不能加载YAML
23、用@ Value("${property}")注解的使用
24、如果使用注解,则需要全部使用注解的方式,否则无法实现注入。
25、配置文件属性命名
下面属性名都能用于上面的@ConfigurationProperties类:
person.firstName 标准驼峰规则
person.first-name 虚线表示,推荐用于.properties和.yml文件中
PERSON_FIRST_NAME 大写形式,使用系统环境变量时推荐
27、ConfigurationProperties配置可进行属性注释。
28、添加激活配置
eg:当一个应用使用下面的属性,并用 --spring.profiles.active=prod 开关运行,那proddb和prodmq配置也会生效
29、日志输出
默认情况下,Spring Boot只会将日志记录到控制台而不会写进日志文件。如果除了输出到控制台你还想写入到日志文件,那 你需要设置 logging.file 或 logging.path 属性(例如在你的application.properties中)
logging.file logging.path 示例 描述 (none) (none) 只记录到控制台 Specific file (none) my.log 写到特定的日志文件里,名称可以是一个精确的位置或相对于当前目 录 (none) Specific folder D:/logs/log 写到特定文件夹下的spring.log里,名称可以是一个精确的位置或相对 于当前目录
注:日志文件每达到10M就会被轮换(分割),和控制台一样,默认记录ERROR, WARN和INFO级别的信息。
30、日志级别
所有支持的日志系统在Spring的Environment(例如在application.properties里)都有通 过'logging.level.*=LEVEL'('LEVEL'是TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF中的一个)设置的日志级别。
eg:
logging.level.org.springframework.web: DEBUG
logging.level.org.hibernate: ERROR
31、springboot中会根据对应的日志系统加载对应的日志配置文件。如log4j会对应加载log4j.properties
32、springmvc常规处理错误的方式:使用@ ExceptionHandler和@ ControllerAdvice处理
33、自定义内嵌servlet容器:
1. server.port - 进来的HTTP请求的监听端口号
2. server.address - 绑定的接口地址
3. server.sessionTimeout - session超时时间
34、配置DataSource
spring.datasource.url=jdbc:mysql://localhost/test
spring.datasource.username=dbuser
spring.datasource.password=dbpass
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
35、对ActiveQ的支持:
ActiveMQ配置是通过spring.activemq.*中的外部配置来控制的。例如,你可能在application.properties中声明下面的片段:
spring.activemq.broker-url=tcp://192.168.1.210:9876
spring.activemq.user=admin
spring.activemq.password=secret
36、
未完待续。。。
springboot学习心得的更多相关文章
- SpringBoot学习笔记(7):Druid使用心得
SpringBoot学习笔记(7):Druid使用心得 快速开始 添加依赖 <dependency> <groupId>com.alibaba</groupId> ...
- Java开发学习心得(一):SSM环境搭建
目录 Java开发学习心得(一):SSM环境搭建 1 SSM框架 1.1 Spring Framework 1.2 Spring MVC Java开发学习心得(一):SSM环境搭建 有一点.NET的开 ...
- Springboot学习笔记(一)—— 安装
springboot越来越流行了,相比较于springMVC,springboot采用了一种约定大于配置的理念,可以一键安装,一键运行,一键部署,内置tomcat,省去了一大堆配置的时间,并且,spr ...
- 我的MYSQL学习心得(一) 简单语法
我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- 我的MYSQL学习心得(二) 数据类型宽度
我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- 我的MYSQL学习心得(三) 查看字段长度
我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- 我的MYSQL学习心得(四) 数据类型
我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(五) 运 ...
- 我的MYSQL学习心得(五) 运算符
我的MYSQL学习心得(五) 运算符 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...
- 我的MYSQL学习心得(六) 函数
我的MYSQL学习心得(六) 函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...
随机推荐
- TestNG参数化测试-数据提供程序 @DataProvider方式
在 testng.xml 中指定参数可能会有如下的不足: 1.如果你压根不用 testng.xml. 2.你需要传递复杂的参数,或者从Java中创建参数(复杂对象,对象从属性文件或者数据库中读取的et ...
- java中高级
面试问题: 一.Java基础方面: 1.Java面相对象的思想的理解(主要是多态): http://blog.csdn.net/zhaojw_420/article/details/70477636 ...
- wx小程序 使用字体
1.下载项目下的字体库 2.解压复制iconfont.css中的代码到,小程序 app.wxss 3.使用: //icon-begindate表示开始时间的图标 <text class=&quo ...
- 3--Selenium环境准备--Eclipse 引入 selenium-server包
1.下载selenium-server包 selenium-server-standalone包是Seleniumd的核心jar包,其中包含了各种元素定位和调用浏览器的方法.下载jar包后,在ID ...
- Oracle账户管理
登录:conn 用户名/口令创建用户create user 用户名 identified by 口令修改密码password 用户名删除用户drop user 用户名如果要删除的用户已经创建表,那么再 ...
- 安卓与Unity交互之-Android Studio创建Module库模块教程
安卓开发工具创建Module库 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分 ...
- Spring Boot 揭秘
SpringBoot基础 微服务 解决大一统的服务化架构的问题 代码冲突问题 交付复杂,影响面大 测试困难 微服务的好处 可扩展性 隔离性 灵活性,多语言多技术生态 微服务的挑战 保持微服务的互通性 ...
- python------模块定义、导入、优化 ------->xml模块
1. xml模块 引用参考原文链接:https://www.cnblogs.com/python-gm/p/8032465.html 谢谢 xml是实现不同语言或程序之间进行数据交换的协议, ...
- 【java编程-Javassist】秒懂Java动态编程(Javassist研究)
作者:ShuSheng007 来源:CSDN 原文:https://blog.csdn.net/ShuSheng0007/article/details/81269295 版权声明:本文为博主原创文章 ...
- LG4213 【【模板】杜教筛(Sum)】
sum\(\mu\)求法 设 \[S(n)=\sum_{i=1}^n \mu(i)\] 回顾公式 \[\sum_{d|n}\mu(d)=[n=1]\] 对\(n\)求和 \[\sum_{i=1}^n\ ...