- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SpringBoot笔记
创建项目
获取配置文件中属性值
修改配置文件名和文件路径(可指定多个文件或路径)
经过配置方法
经过编码方法(用这种比很好些)
上图是两种方法,上面一个是加载一个文件,下面一个是加载多个文件
注入集合
要注意是:在注入集合时候,代码中集合一定要有get和set方法,而且集合名要和除前缀之外属性名相同。在初始化时候,spring boot就会去上述两种情况加载文件中去找前缀是ds属性。
下面@ConfigurationProperties注解中有两个属性,一个是prefix即前缀,一个是locations即当地文件路径。假如只写前缀,那么prefix=能够省略,此时会从已加载配置文件中去找对应属性,假如指定locations话,prefix=也不能省略,此时会从locations指定文件中去找对应属性。
不一样环境读取不一样配置文件
Springboot自动装配
非自动装配示例以下
按条件自动装配示例以下
尤其注意:@Conditional注解能够用在方法上,也能够用在类上,假如用在方法上,则表示只对方法自动装配,假如用在类上,则表示对该类下全部方法全部进行自动装配,以下面@Conditional注解就表示当Utf8Condition中方法返回true时对该类中全部方法全部进行自动装配。
因为@Conditional注解接收参数是一个数组,一次能够传多个Condition,下图所表示就表示当Utf8Condition和GbkCondition全部返回true时才对该类下全部方法进行自动装配:
Spring Boot还给我们提供了部分很好用按条件自动装配类,在org.springframework.boot.autoconfigure.cloud包下面,能够自行研究下,下面演示两个常见。
如@ConditionalOnProperty是和属性配合使用,@ConditionalOnClass和类配合使用,@ConditionalOnBean和bean配合使用,示例以下
默认配置文件中加上以下属性:
运行即可
再如
再如
两个runnable已全部加载
再如
或
Spring boot实现异步处理
Spring boot自动装配没有加注解bean
Springboot事件监听
步骤:
自定义事件,通常是继承ApplicationEvent抽象类;
定义事件监听器,有多个实现方法,而且对同一个事件可创建多个监听器;
公布事件。
实现1:
实现2:
实现3:
具体实例(用户注册,插入数据库并邮件通知):
上述程序开启以后再浏览器中输入以下地址访问,就会在控制台打印出相关信息:
http://localhost:8080/register?name=liuqianpassword=123
Springboot JDBC
或
spring.datasource.type属性能够用来指定数据源,以下图
事物:要注意:能够在注解后面括号中设置事物,自行学习
或
Springboot AOP(面向切面)
Aop用途:日志统计、权限处理、性能统计、监控、事务处理、异常处理等。
首先在测试开启时候碰到一个错误,报错以下:错误
处理方案以下:
方法一:
@SpringBootApplication(exclude= {DataSourceAutoConfiguration.class})
具体实现:
或
Springboot– redis
Springboot Starter – redis
有两种方法:一个时直接在项目中引入Jedis依靠包,直接使用Jedis,另一个时引入spring-boot-starter-data-redis。下面示例时直接使用Jedis。
下图中红色框里内容时在使用Jedis连接成功redis以后进行密码验证,假如设置了redis无需密码登陆,则不需要在代码中设置。
Springboot 日志
Springboot 监控和度量
自定义health
可自定义配置info
输出效果
除了上述信息之外,还能够将监控信息输出到jmx(如jvisualvm.exe等)或redis。
对于监控测量更具体信息能够参考官方说明文档
Springboot 测试
尤其注意:上述测试类中为啥要加classes=XXX.class原因:因为SpringBoot默认扫描开启类所在包和子包中全部bean,所以在测试类中需要加上。
假如某个bean只有测试路径下有,而项目路径下没有,则还需要把测试路径下该bean加到classes后面去。
测试bean
想要让测试包中bean生效,还需要手动加入到容器中
测试配置环境1(使用程序包中环境类MyConfig来测试)
测试配置环境2(直接使用springEnvironmen
文档评论(0)