学习笔记:JavaEE开发的颠覆者SpringBoot实战(八)数据缓存

modbus RTU/TCP 串口通讯 读写数据(java) 第一次接触这个,网上资料也是比较少,搞了一天也终于搞定了,总结一下过程中遇到的一些问题,为后面的人做个警戒 1.首先需要使用RXTX的串口通讯包,还有modbus4J的包,具体如下,文章结尾我会附上资源的地址 基本上所有的问题都是在这个过程中遇到的,首先要把rxtxParallel.dll,rxtxSerial.dll,放到你的jdk的jre/lib文件夹下,RXTXcomm.jar放到jre/bin文件夹下,然后在你的项目中导入RXTXcomm.jar,具体操作步骤如下 然后选择你刚才j.. 阅读详情

1.spring缓存支持

spring定义了org.springframework.cache.CacheManager和org.springframework.cache.Cache接口用来同意不同的缓存技术。其中CacheManager是spring提供的各种缓存技术抽象接口,Cache接口包含缓存的各种操作

1.1 spring支持的CacheManager

CacheManager描述
SimpleCacheManager使用简单的collection来存储缓存,主要用来测试用途
ConcurentMapCacheManager使用concurrentMap来存储缓存
NoOpCacheManager仅测试用途,不会实际存储缓存
EhCacheCacheManager使用EhCache作为缓存技术
GuavaCacheManager使用Google Guava的GuavaCache作为缓存技术
HazelcastCacheManager使用Hazelcast作为缓存技术
JCacheCacheManager支持JCache(JSR-107)标准的实现作为缓存技术,如Apache Commons JCS
RedisCacheManager使用Redis作为缓存技术

注册

@Bean
public EhCcheCacheManager cacheManager(CacheManager ehCcheCacheManager){
    return new EhCcheCacheManager(ehCcheCacheManager);
}

1.2 声明式缓存注解

1.3 开启声明式缓存支持

@Configuration
@EnableCaching
public class AppConfig{

}

2.spring boot 的支持

spring boot 为我们自动配置了多个CacheManager的实现

2.1 缓存配置:

spring.cache.type= #可选generic,ehcache,hazelcast,infinispan,jcache,redis,guava,simple,none
spring.cache.cache-names = #程序启动时传教缓存名称
spring.cache.ehcache.config = #ehcache配置文件的地址
spring.cache.hazelcast.config = #hazelcast配置文件地址
spring.cache.infinispan.config = #infinispan配置文件地址
spring.cache.jcache.config = #jcache配置文件地址
spring.cache.jcache.provider= #当多个jcache实现在类路劲中的时候,指定jcache实现
spring.cache.guava.spec= #guava specs

2.2 依赖包

Cche(spring-boot-starter-cache)

3 切换缓存技术

3.1 EhCache

<dependency>
    <groupId>net.sf.ehcache</groupId>
    <artifactId>ehcache</artifactId>
</dependency>

ehcache.xml

<?xml version="1.0" encoding="UTF-8" ?>
<ehcache>
    <cache name="people" maxElementsInMemory="1000" />
</ehcache>

3.2 Guava

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
</dependency>

3.3 Redis

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-redis</artifactId>
</dependency>

4.非关系型数据库NoSQL

NoSQL是对于不使用关系作为数据管理的数据库系统的统称。

NoSQL数据库主要有文档存储型(MongoDB),图形关系存储型(Neo4j)和键值对存储(Redis)

4.1 MongoDB

MongoDB是一个基于稳定(Document)的存储型的数据库,使用面向对象的思想,每一条数据记录都是文档的对象。

4.1.1 spirng支持

主要通过Spring Data MongoDB来事项

(1)Object/Document映射注解支持

注解描述
@Document映射领域对象与MongoDB的一个文档
@Id映射当前属性是ID
@DbRef当前属性将参考其他的文档
@Field为文档的属性定义名称
@Version将当前属性作为版本

(2)MongoTemplate

@Bean
public MongoClient client() throws UnknownHostException{

    MongoClient client = new MongoClient(new ServerAddress("127.0.0.1",27017));
    return client;
}

@Bean
public MongoDbFactory mongoDbFactory() throws Exception{
    String database = new MongoCliectURI("mongodb://localhost/test").getDatabase();
    return new SimpleMongoDbFactory(client(),database);
}

@Bean
public MongoTemplate mongoTemplate(MongoDbFactory mongoDbFactory) throws UnknownHostException{
    return new MongoTemplate(mongoDbFactory)
}

(3)Repostiory支持

public interface PersonRepostitory extends MongoRepository<Person,String>{

}

//开启支持方式

@Configuration
@EnableMongoRepositories
public class AppConfig{

}

4.2 spring boot的支持

配置

spring.data.mongodb.host = #数据库主机地址,默认localhost
spring.data.mongodb.port = 27017 #数据库连接端口默认27107
spring.data.mongodb.uri=mongodb://localhost/test #connection URL
spring.data.mongodb.database=
spring.data.mongodb.authentication-database=
spring.data.mongodb.grid-fs-database=
spring.data.mongodb.username=
spring.data.mongodb.password=
spring.data.mongodb.repostitories.enabled=true #repository支持是否开启,默认为开启
spring.data.mongodb.field-naming-strategy=

依赖: spirng-boot-starter-data-mongodb

5. Redis

Redis是一个基于键值对的开源内存数据存储

5.1 spring支持

(1)配置

根据redis的不同的java客户端,spring data redis提供如下的ConnectionFactory:

  • JedisConfnectionFactory:使用Jedis作为Redis客户端
  • JredisConfnectionFactory:使用Jredis作为Redis客户端
  • LettuceConfnectionFactory:使用Lettuce作为Redis客户端
  • SrpConfnectionFactory:使用Jedis作为Redis客户端
@Bean
public RdisConnectionFactory redisConnectionFactory(){
    return new JedisConnectionFactory();
}


@Bean
public RedisTemplate<Object,Object> redisTemplate() throws UnknownHostException{
    RedisTemplate<Object,Object> template = new RedisTemplate<Object,Object>();
    template.setConnectionFactory(redisConnectionFactory());
    return template;
}

(2)使用

Spring Data Redis为我们提供了RedisTemplate和StringRedisTemplate两个模板来进行数据操作,其中StringTedisTemplate只正对键值都是字符型的数据进行操作。

方法说明
opsForValue()操作只有简单属性的数据
opsForList()操作含有list的数据
opsForSet()操作含有set的数据
opsForZset()操作含有Zset(有序的set)的数据
opsForHash()操作含有hash的数据

(3)定义Serializer

当我们的数据存储到Redis的时候,我们的key和value都是通过spring提供的Serializer序列化到数据库的。ReidsTemplate默认使用的是JdkSerializationRedisSerializer,StringReidsTemplate默认使用的是StringRedisSerializer,

5.2.spring boot 的支持

RedisAutoConfiguration为我们默认配置了JedisConnectionFactory,RedisTemplate以及StringRedisTemplate。

使用redis配置:

spring.redis.database=0 #数据库名称
spring.redis.host = localhost #服务器地址,默认为localhost
spring.redis.password= #数据库密码
spring.redis.port=6379 #链接端口号,默认6379
spring.redis.pool.max-idle=8 #连接池设置
spring.reids.pool.min-idle=0
spring.redis.pool.max-active=8
spring.redis.pool.max-wait=-1
spring.redis.sentinel.master=
spring.redis.sentinel.nodes=
spring.redis.timeout=

 

 

 

阿里内部进阶学习SpringBoot+Vue全栈开发实战文档 Spring 作为一个轻量级的容器,在JavaEE开发中得到了广泛的应用,但是Spring 的配置烦琐臃肿,在和各种第三方框架进行整合时代码量都非常大,并且整合的代码大多是重复的,为了使开发者能够快速上手Spring,利用Spring框架快速搭建JavaEE项目,Spring Boot应运而生。Spring Boot带来了全新的自动化配置解决方案,使用Spring Boot可以快速创建基于Spring生产级的独立应用程序。 阅读详情

相关推荐

Modbus4J架包

modbus TCP数据寄存器数据解析读取工具类,代码工具类以及Modbus依赖jar包

JAVA modbus4j 获取AsiiMaster

JAVA modbus4j 获取AsiiMaster

MTonj的博客 1044

使用modbus4j获取数据的例子源代码

使用modbus4j获取使用modbus协议进行数据通讯的仪表数据的例子, 可以运行在windows和linux下, 可以在命令行设置参数: Usage: RtWxcw SlaveAddress SerialPort [CycleTime BaudRate DataBits StopBits Parity] windows: RtWxcw 1 COM1 60 9600 8 1 0 linux: RtWxcw 1 /dev/ttyS0 60 9600 8 1 0 default: "); CycleTime=60 BaudRate=9600 DataBits=8 StopBits=1 Parity=0

java番外篇之modbus----串口通信

package danji; import java.util.Arrays; import com.serotonin.io.serial.SerialParameters; import com.serotonin.modbus4j.ModbusFactory; import com.serotonin.modbus4j.ModbusMaster; import com.se

Mickey的博客 8712

Modbus4j最新Maven工程源码+seroUtils

Modbus协议数据采集java实现源码工程,以及相关jar包。可以在此基础上进行二次开发,无编译错误;现实项目中使用。

Modbus4j-2.0.2.jar

较高版本的modbus4j包,新增com.serotonin.modbus4j.locator.*,com.serotonin.modbus4j.msg.*等子包。其中我就有用到locator底下 BaseLocator 这个类

java zigbee 串口_基于java的zigbee串口通讯的多线程

import http://www.doczj.com/doc/301ff887cc22bcd126ff0cf8.htmlmPortIdentifier;import gnu.io.PortInUseException;import gnu.io.SerialPort;import java.io.BufferedInputStream;import java.io.IOException;imp...

weixin_42530458的博客 804

自动驾驶传感器选型实战:摄像头、激光雷达与毫米波雷达融合策略

自动驾驶感知系统的核心在于多传感器协同,而非单一技术优劣。摄像头擅长语义识别但受光照和天气制约;激光雷达提供高精度测距却面临成本、温漂与多径干扰等物理瓶颈;毫米波雷达则以全天候鲁棒性与精准测速成为安全底线的守门人。三者融合不是简单叠加,而是基于场景约束(如暴雨、强光、高速跟车)、成本边界(BOM控制)与时间窗口(量产节奏)的工程权衡。真实量产方案中,‘纯视觉’实为视觉主责+毫米波兜底,‘激光雷达上车’本质是用硬件真值加速算法迭代,而传统车企更倾向以毫米波为仲裁者协调冲突。理解这些底层原理,才能在传感器选型、

weixin_32495691的博客 275

JavaEE开发的颠覆者 Spring Boot实战

网站 更多书籍点击进入>> CiCi岛 下载 电子版仅供预览及学习交流使用,下载后请24小时内删除,支持正版,喜欢的请购买正版书籍 电子书下载(皮皮云盘-点击“普通下载”) 购买正版 封页 内容简介 在当今Java EE 开发中,Spring 框架是当之无愧的王者。而Spring Boot 是Spring 主推的基于“习惯优于配置”的原则,让你能够快速搭建应用的框架,从而使得Ja...

CiCi岛的专栏 1514

使用trae自动生成前后端分离的web应用程序

使用ai自动生成前后端分离的web应用程序

一介书生 2524

windows11系统封装教程

1、 现在电脑品牌各式各样,小白对电脑软件的安装存在较大的难题,今天笔者针对以上的问题做如下教程:windows11系统封装教程方式为视频方式。

cyz141001的博客 5879

《javaEE 开发的颠覆者,Spring boot实战》

本书简介 1 推荐使用@configuration @bean 的Java配置来替代xml。 2 习惯优于配置的原则。快速搭建项目 3 在第一部分,介绍了快速Spring4.x各个知识点:基础配置、常用配置、高级配置等。 4 在第二部分,介绍了Spring MVC 的各个知识点。 5 在第三部分,才是核心的介绍Spring boot。 Spring boot 核心 -各种配置

a314773862的博客 7697

Unity URP半透明物体渲染避坑指南:双面渲染与深度写入的实战技巧

本文深入探讨了Unity URP中半透明物体自交叠渲染问题的核心根源与解决方案。针对模型自身交叠导致的排序错误,文章提供了双面渲染与深度写入两种实战技巧,详细分析了其实现原理、性能开销及适用场景,帮助开发者根据项目需求选择最优方案,有效提升玻璃、水体等材质的视觉表现。

sunny的博客 545

学习笔记:JavaEE开发的颠覆者SpringBoot实战(十)开发部署与测试

一 开发的热部署 1 模板热部署 在spring boot里,模板引擎的页面默认是开启缓存的,如果修改了页面的内容,则刷新页面是得不到修改后的内容,故需在配置中关闭模板引擎的缓存。 Thymeleaf spring.thymeleaf.cache=false FreeMarker spring.freemarker.cache=false Groovy spring.groo...

java_shm的专栏 307

逆向淘宝x-mini-wua:从加密算法到设备指纹的生成逻辑

本文深入剖析了淘宝风控核心参数x-mini-wua的生成逻辑与加密算法。通过逆向分析,揭示了其作为设备“身份证”的作用,详细拆解了从硬件信息采集、SG_INNER_DATA文件解密、关键参数提取到最终长wua合成的完整技术链条,并探讨了模拟生成与绕过风控的实战思路及注意事项。

year5的博客 1074

《SAP FICO系统配置从入门到精通共40篇》030、集成配置:FI与生产计划(PP)的自动科目确定

FI和PP的自动科目确定,本质上是把生产业务翻译成会计语言。翻译规则就藏在那些配置表里。配的时候多想一步:这个业务动作,在财务眼里是什么?是材料消耗?是产出入库?还是工费分摊?想清楚这个,再看配置界面,那些代码就不是天书了。最好的测试方式,是月底关账前,让生产部门跑一遍所有类型的生产订单。配置对不对,业务最知道。

985大学毕业,前某大厂员工,啥都会点的程序员! 573

Spring框架与J2EE框架

Spring框架与J2EE框架 J2EE框架 简介: J2EE的全称是Java 2 Platform Enterprise Edition,它是由SUN公司领导、各厂家共同制定并得到广泛认可的工业标准。 J2EE的体系结构: 客户端层:负责与用户直接交互,J2EE支持多种客户端,所以客户端既可以是WEB浏览器,也可以是专用的Java客户端。 服务器端组件层:本层是为了基于WEB的应用服...

子敬的技术博客 8360

1、Ka频段双极化低剖面卫通相控阵天线

设计了双馈口叠层十字缝隙耦合天线,采用“双线极化天线 +旋转馈电 + 移相控制”架构,采用双馈口的叠层十字缝隙耦合天线,并以 2 x2 阵列为主体,旋转排布实现二次圆极化,同时极化可切换,通过多层 PCB 工艺实现天线层、控制/电源层功分网终层、芯片层一体化集成,研制出 64 阵元的圆极化可切换发射天线,测试结果表明:天线工作 频段为 27.5 ~31 GHz,可实现60°扫描,法向轴比

qq_43416206的博客 4366

《JavaEE开发的颠覆者:Spring Boot实战》笔记

第一部分 点睛Spring4.x 第1章 Spring 基础1.1 Spring 概述1.2 Spring 项目快速搭建1.3 Spring 基础配置 第2章 Spring 常用配置2.1 Bean 的Scope2.2 Spring EL 和资源调用2.3 Bean 的初始化和销毁2.4 Profile2.5 事件(ApplicationEvent) 第3章 Spring 高级话题3.1...

weixin_33774308的博客 217

ArcGIS Pro 3.4 二次开发 - 布局

本文介绍了在ArcGIS Pro SDK 3.4和.NET 8环境下操作布局工程项的相关方法。主要内容包括:引用布局工程项和关联布局,在新视图中打开或激活已有布局视图,引用活动布局视图,导入/移除布局工程项,创建基本布局或带参考线的自定义布局,修改布局页面尺寸,以及创建圆形图形元素等操作。重点演示了如何通过CIM(Core Infrastructure Model)进行高级布局配置,并详细说明了圆形图形元素的创建过程,包括几何构建、符号设置和图形生成。所有涉及UI线程的操作都遵循ArcGIS Pro SDK

Winemonk 795

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Spring Boot实战学习笔记(四)

摘要本文为学习Java EE开发的颠覆者 Spring Boot实战的学习笔记,学习了一遍,但是好记性不如烂笔头,所以文章记录下来。图书购买地址为: https://item.jd.com/11894632.html.Spring Boot实战学习笔记1Spring Boot实战学习笔记2Spring Boot实战学习笔记3Spring Boot实战学习笔记4Spring Boot实战学习笔记5S...

殘遛的博客 612

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

北京大学:SpringBoot+Vue全栈开发实战文档

Spring 作为一个轻量级的容器,在JavaEE开发中得到了广泛的应用,但是Spring 的配置烦琐臃肿,在和各种第三方框架进行整合时代码量都非常大,并且整合的代码大多是重复的,为了使开发者能够快速上手Spring,利用Spring框架快速搭建JavaEE项目,Spring Boot应运而生。 Spring Boot带来了全新的自动化配置解决方案,使用Spring Boot可以快速创建基于Spring生产级的独立应用程序。Spring Boot中对一些常用的第三方库提供了默认的自动化配置方案,使得开发者只

cyhlili100的博客 1114

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

【JavaEE企业开发实战】从0到1搭建SpringBoot项目 + 环境配置 + 避坑指南

本文主要介绍了JavaEE学习和Maven配置的相关内容。首先讲解了JavaEE的学习方法,强调以项目实践为主,先掌握框架使用再理解原理。环境配置部分详细说明了IDEA版本要求和创建项目注意事项。Maven部分重点介绍了依赖管理和项目构建功能,包括插件安装、本地仓库配置和国内源设置。最后简要提及Spring框架在企业开发中的应用。整体内容注重实践操作,提供了从环境搭建到工具使用的详细指导,适合JavaEE初学者快速入门企业级开发。

2301_79417489的博客 1221

精品,阿里P8爆款《SpringBoot+vue全栈开发实战项目》笔记太香了

Spring 作为一个轻量级的容器,在JavaEE开发中得到了广泛的应用,但是Spring 的配置繁琐臃肿,在和各种第三方框架进行整合时代码量都非常大,并且整合的代码大多是重复的,为了使开发者能够快速上手Spring,利用Spring框架快速搭建JavaEE项目,Spring Boot应运而生。Spring Boot 中对一些常用的第三方库提供了默认的自动化配置方案,使得开发者只需要很少的Spring 配置就能运行一个完整的Java EE应用。

公众号:该用户快成仙了 257

SpringBoot+vue全栈开发实战笔记太香了

Spring 作为一个轻量级的容器,在JavaEE开发中得到了广泛的应用,但是Spring 的配置繁琐臃肿,在和各种第三方框架进行整合时代码量都非常大,并且整合的代码大多是重复的,为了使开发者能够快速上手Spring,利用Spring框架快速搭建JavaEE项目,Spring Boot应运而生。 Spring Boot 中对一些常用的第三方库提供了默认的自动化配置方案,使得开发者只需要很少的Spring 配置就能运行一个完整的Java EE应用。Spring Boot项目可以采用传统的方案打成war包,然

ZzzzjQqqq的博客 2295
上一篇: MongoDB(三)复制,分片,备份,监控
下一篇: IDEA创建Spring项目
夜未眠shm
博客等级 码龄14年 15粉丝 101原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值