




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SpringBoot 笔笔记记 创创建建项项目目 获获取配置文件中的属性取配置文件中的属性值值 修改配置文件名和文件路径 可指定多个文修改配置文件名和文件路径 可指定多个文 件或者路径 件或者路径 1 通过配置方式 2 通过编码方式 用这种比较好些 上图是两种方式 上面一种是加载一个文件 下面一种是加载多个文件 3 注入集合 要注意的是 在注入集合的时候 代码中的集合一定要有 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 事件事件监监听听 流程 1 自定义事件 一般是继承 ApplicationEvent 抽象类 2 定义事件监听器 有多种实现方式 并且对同一个事件可创建多个监听器 3 发布事件 实现 1 实现 2 实现 3 具体实例 用户注册 插入数据库并邮件通知 上述程序启动之后再浏览器中输入如下地址访问 就会在控制台打印出相关信息 http localhost 8080 register name liuqian password 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 直接使用 spring 的 Environment 前提是如果配置信息不在默认配置文件内 的话 必须先在程序包中将配置文件引入 如果在测试之前要进行一些变量或者对象的初始化时 就用 Before 注解 测试 Controller 方式 1 用这种方式测试的话会加载整个 spring 容器 测试 Controller 方式 2 这种方式就是普通 SpringMvc 中 Controller 的测试方式 不会加载整 个 spring 容器 因此有必要配置自动扫描的包 Springboot 整合整合 mybatis Mybatis 逆向工程 Springboot 构建微服构建微服务务 所谓为服务 就是将一个项目按照功能模块拆分成多个功能单元 每个功能单元都可以自行 选用不同的技术来完成 这样做方便并行开发 测试以及维护 下图时产品微服务 使用 spring boot 开发 下图时调用为服务接口的示例 Springboot 服服务务的注册与的注册与发现发现 1 注册方 服务提供方 服务注册方 提供接口 需要引的 jar 包 一定要注意版本不能太高 否则会报错 服务调用方需要引用的 jar 包 一定要注意版本不能太高且与服务注册放一致 否则会报错 常见的注册中心 zookeeper consul etcd redis 流程 1 服务器提供方去要在启动服务的时候 把服务器的信息 ip port 注册到注册中心 在示例中使用的时 zookeeper 2 下载 zookeeper https zookeeper apache org releases html 在 Windows 下配置 zookeeper 配置地址 特别要注意 再服务发现的程序配置文件中也要配置该地址 用 PowerShell 查看节点 2 发现方 服务调用方 如果是使用 springbooot 的话可以使用如下配置 这个配置也可直接在代码中写死 普通类中调用服务 下面是测试的 main 方法 实际项目中可以用在任何方法中 可进行封装 在 spring boot 类中调用一样的 3 当有多个注册方的时候 多个注册方的名称可以一样 也可以不一样 如果名称一样 则 调用方可通过 ip 和端口号来判断是哪个注册方 如果名称不一样 则调用方可直接通过名 称来发现注册方 3 1 多个注册方名称不一致的情况 注册方一 注册方二 调用方 3 2 多个注册方名称相同的情况 这种情况一般是将同一服务程序跑在不同服务器上 可设 置相同或者不同的端口号 用来做负载均衡 注册方一 注册方二 调用方 实现简单的负载均衡 负载均衡类 调用类 Springboot 服服务务的打包和部署的打包和部署 1 打成 jar 包并部署 双击 package 将项目打包 要注意 这种方式需要在服务器上安装 jdk 环境 在项目的 target 目录下找到 jar 包复制出来 并在要部署程序的服务器上新建一个目录 将 jar 包放在里面 用命令 java
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汉字“牛”的讲解课件
- 水银血压计使用课件
- 混凝土养护与加速养护方案
- 学生宿舍照明节能与智能控制方案
- 混凝土混合物的性能检测与控制方案
- 标准厂房安全出口与疏散方案
- 水电镀基础知识培训课件
- 胰岛素赵娜娜51课件
- 二零二五版服务业劳动保障监察及员工权益保障合同
- 二零二五年度公务车借用协议书模板
- 初中数学-综合与实践 哪一款“套餐”更合适教学课件设计
- 采油采气井控题库
- “三重一大”决策 标准化流程图 20131017
- Cpk 计算标准模板
- 精选浙江省普通高中生物学科教学指导意见(2023版)
- “魅力之光”核电知识竞赛试题答案(二)(110道)
- 外科学课件:食管癌
- 汽机专业设备运行日常点检
- GB/T 2820.12-2002往复式内燃机驱动的交流发电机组第12部分:对安全装置的应急供电
- 设备基础知识-动设备课件
- GB/T 12599-2002金属覆盖层锡电镀层技术规范和试验方法
评论
0/150
提交评论