随笔分类 - SpringBoot
摘要:一、异步任务 测试如下 1、不是异步方法的时候: 进行等待三秒再进行应答 @Service public class AsynService { public void hello(){ try { Thread.sleep(3000); } catch (InterruptedException
阅读全文
摘要:一、整合 新建项目加入依赖(NoSql) springboot默认使用SpringDate ElasticSearch模块进行操作elasticSearch 查看自动配置类: SpringBoot支持两种技术来和ES交互“ 1、Jest 2、SpringDate ElasticSearch Spri
阅读全文
摘要:一、检索 我们的应用经常需要添加检索功能,开源的 ElasticSearch 是目前全文搜索引擎的首选。 他可以快速的存储、搜索和分析海量数据。Spring Boot通过整合Spring Data ElasticSearch 为我们提供了非常便捷的检索功能支持; Elasticsearch是一个分布
阅读全文
摘要:1、监听 1.1、监听队列 如订单系统和库存系统 订单系统下订单之后将消息存放在消息队列中 库存系统需要时刻进行监听消息队列的内容,有新的订单就需要进行库存相关的操作 此时模拟监听消息队列中的Book信息 编写监听类: @RabbitListener监听相关的消息队列(这里只是做测试,所以方法里的参
阅读全文
摘要:RabbitMQ整合 使用dockers下载带management的版本,该版本是带web界面的,可操作性比较强 第二个-p是web界面的访问端口 启动rabbitmq 客户端进行访问rabbirmq管理界面: 账号密码均是guest 登录后的首页 看图进行设置: 1、添加exchange(交换器)
阅读全文
摘要:一、消息中间件概述***: 1、大多应用中,可通过消息服务中间件来提升系统异步通信、扩展解耦能力消息服务中两个重要概念: 2、消息代理(message broker)和目的地(destination) 当消息发送者发送消息以后,将由消息代理接管,消息代理保证消息传递到指定目的地。 3、 消息队列主要
阅读全文
摘要:springboot缓存默认使用ConcurrentMapCacheManager 将数据保存在下面的Map中 1、docker中开启Redis 2、添加Redis相关依赖 <dependency> <groupId>org.springframework.boot</groupId> <artif
阅读全文
摘要:一、@Caching 定义复杂的缓存规则 1、Caching接口源码: @Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Inherited @Documented public
阅读全文
摘要:* @CacheEvict 缓存清除* key:指定要清除数据的key* allEntries = true : 把指定缓存组件中的缓存全部清除;指定了这个key也就不用指定了* beforeInvocation = true : 缓存的清除是否在方法执行之前执行* 默认是清除缓存在方法执行之后执行
阅读全文
摘要:@CachePut:即调用方法还更新数据 修改了数据库同时更新缓存 实例讲解: 在上一节的基础上EmployeeService中添加更新员工的方法,这里指定把返回结果放入的缓存组件和查询方法是一样的(组件名唯一) 另外把上一节中自定义的key生成器注解掉了 @Service public class
阅读全文
摘要:一、运行流程: @Cacheable 1.方法运行之前先去查询缓存组件,按照Cache的name取获取(CacheManager先获取相应的缓存) 第一次获取缓存没有则会自动创建 2.取Cache中查找缓存,使用以可key,默认就是方法的参数 key是按照某种策略生成的,默认使用keyGenerat
阅读全文
摘要:一、使用缓存: 1.开启基于注解的缓存 @EnableCaching 2.标注缓存即可 二、具体实例 上一节创建好基本环境后每一次访问查询都会进行sql查询: 我访问三次上面的链接每次都会进行sql查询: 打印是在service中执行的 @Service public class EmployeeS
阅读全文
摘要:一、JSR107 Java Caching定义了5个核心接口,分别是CachingProvider, CacheManager, Cache, Entry 和 Expiry。 1、CachingProvider定义了创建、配置、获取、管理和控制多个CacheManager。 一个应用可以在运行期访问
阅读全文
摘要:1、创建项目 2、在application.yml中配置数据源和JPA的相关配置 spring: datasource: url: jdbc:mysql://localhost:3306/springbootjpa?serverTimezone=GMT username: root password
阅读全文
摘要:这里的mybatis知识就不再多说了 直接上代码 1、首先写接口mapper类: EmployeeMapper.java //@Mapper或者@MapperScan将接口扫描到扫描装配到容器中;这里在MybatisConfig中使用了@MapperScan public interface Emp
阅读全文
摘要:1、创建department的mapper(注解版) //指定这是一个操作数据库的mapper @Mapper public interface DepartmentMapper { @Select("select * from department where id = #{id}") publi
阅读全文
摘要:1、创建工程需要的maven坐标 这个mybatis的starter是mybatis官方出的适应springboot 通过图来了解这个依赖导入了哪些包 2)、数据连接池的使用 引入Druid数据连接池 <!--引入druid数据源--> <dependency> <groupId>com.aliba
阅读全文
摘要:一、整合Druid数据源 1、在上一节基础上加上druid依赖 <!--引入druid数据源--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.10</version>
阅读全文
摘要:1、创建项目(通过idea) 这里的mysql就是帮助我们导入mysql驱动的。 然后通过项目下的pom.xml文件,可以发现我们导入了下面这些依赖。 我们在使用最基本的jdbc的时候,我们只要引入jdbc和mhysql驱动就可以了。 2、与数据库连接 新建一个数据库 编写配置文件 然后在resou
阅读全文
摘要:嵌入式Servlet容器:应用打成可执行的j ar 优点:简单、便携; 缺点:默认不支持JSP、优化定制比较复杂 使用定制器【ServerProperties、自定义 EmbeddedServletContainerCustomizer】, 自己编写嵌入式Servlet容器的创建工厂 Embedde
阅读全文