SpringBoot___项目开发整合与配置(二)

SpringBoot构建大数据开发框架 为什么使用SpringBoot1、web工程分层设计,表现层、业务逻辑层、持久层,按照技术职能分为这几个内聚的部分,从而促进技术人员的分工2、需要各种XML配置,还需要搭建Tomcat或者jetty作为容器来运行,每次构建项目,都需要经历此流程3、一个整合良好的项目框架不仅仅能实现技术、业务的分离,还应该关注并满足开发人员的“隔离”springBoot是什么Spring Boot是由Pivotal... 阅读详情

1. 与Redis整合
 SpringBoot中提供了RedisTempplate的操作,这边不做太多介绍,我们来看下如何整合Redis:

@Configuration
@PropertySource(value="classpath:redis.properties")
public class RedisSpringConfig{

    @Value("${redis.maxTotal}")
    private Integer redisMaxTOtal;

    @Value("${redis.nodel.host}")
    private String redisNodelHost;

    @Value("${redis.nodel.port}")
    private Integer redisNodelPort;

    private JedisPoolConfig jedisPoolConfig(){
        JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
        jedisPoolConfig.setMaxTotal(redisMaxTotal);
        return jedisPoolConfig;
    }

    @Bean
    public ShardedJedisPool shardedJedisPool(){
        List<JedisShardInfo> jedisShardInfos = new ArrayList<JedisShardInfo>();
        jedisShardInfos.add(new JedisShardInfo(redisNodelHost,redisNodelPort));
        return new ShardedJedisPool(jedisPoolConfig(), jedisShardInfos);
    }
}

 我们可以通过在springboot的启动类中添加扫描注解@ComponentScan来手动指定要扫描的包。

2. 与HttpClient整合
 SpringBoot可以通过下列方式来定义数据, 例如:

@Configuration
@PropertySource(value="classpath:httpclient.properties")
public class HttpclientSpringConfig{

    @Value("${http.maxTotal}")
    private Integer httpMaxTotal;

    @Value("${http.defaultMaxPerRoute}")
    private Integer httpDefaultMaxPerRoute;

    @Value("${http.connectTimeout}")
    private Integer httpConnectTimeout;

    @Value("${http.connectionRequestTimeout}")
    private Integer httpConnectionRequestTimeout;

    @Value("${http.socketTimeout}")
    private Integer httpSocketTimeout;

    @Value("${http.staleConnectionCheckEnabled}")
    private Boolean httpStaleConnectionCheckEnabled;

    @Autowired
    private PoolingHttpClientConnectionManager manager;

    @Bean
    public PoolingHttpClientConnectionManager poolingHttpClientConnectionManager() {
        PoolingHttpClientConnectionManager poolingHttpClientConnectionManager = 
                                new PoolingHttpClientConnectionManager();
        // 最大连接数
        poolingHttpClientConnectionManager.setMaxTotal(httpMaxTotal);
        // 每个主机的最大并发数
        poolingHttpClientConnectionManager.
                    setDefaultMaxPerRoute(httpDefaultMaxPerRoute);
        return poolingHttpClientConnectionManager;
    }

    // 定期关闭无效连接
    @Bean
    public IdleConnectionEvictor idleConnectionEvictor() {
        return new IdleConnectionEvictor(manager);
    }

    // 定义Httpclient对
    @Bean
    @Scope("prototype")
    public CloseableHttpClient closeableHttpClient() {
        return HttpClients.custom().setConnectionManager(this.manager).build();
    }

    // 请求配置
    @Bean
    public RequestConfig requestConfig() {
        return RequestConfig.custom()
        .setConnectTimeout(httpConnectTimeout)// 创建连接的最长时间
        .setConnectionRequestTimeout(httpConnectionRequestTimeout)
        // 从连接池中获取到连接的最长时间
        .setSocketTimeout(httpSocketTimeout) // 数据传输的最长时间
        .setStaleConnectionCheckEnabled(httpStaleConnectionCheckEnabled) 
        // 提交请求前测试连接是否可用
        .build();
    }
}

3.与RabbitMQ整合

 

  • 导入依赖
     首先我们要导入amqp依赖,如下:
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
  • 然后配置rabbitMQ

 我们可以在application.properties中设置RabbitMQ的连接信息。如下:

spring.rabbitmq.host = 127.0.0.1
spring.rabbitmq.port = 5972
spring.rabbitmq.password = XXX
spring.rabbitmq.username = XXX
#这是路径
spring.rabbitmq.virtual-host = /XXX 
  • 配置Rabbit配置类:

@Configuration
public class RabbitMQSpringConfig{
    @Autowired
    private ConnectionFactory connectionFactory;

    //管理
    @Bean
    public RabbitAdmin rabbitAdmin{
        return new RabbitAdmin(connectionFactory);
    }

    //声明队列
    @Bean
    public Queue LoginQuery(){
        //默认就是自动声明的
        return new Queue("LOGIN_QUEUE", true);
    }
}
  • 设置监听

 设置监听就是在类上配置注解@Component,然后在execute方法上加上注解@RabbitListener(queues = "LOGIN_QUEUE"),其中queues执行的你自己的队列。

4.配置SpringMVC
 
springmvc配置
 一般这时候我们需要自己设置视图解析器,在application.yml中如下设置即可:

spring.mvc.view.prefix = /WEB-INF/views/
spring.mvc.view.suffix = .jsp
Nginx安装配置与SpringBoot项目整合 本篇文章将在上篇《Redis安装与SpringBoot项目整合详细教程》(上文链接:https://blog.youkuaiyun.com/sp958831205/article/details/88617706 )的基础上安装配置Nginx实现负载均衡,Redis 实现Session共享 文章目录Nginx 安装Nginx 下载Nginx 安装负载均衡配置Session共享配置 Nginx 安装 安装环境... 阅读详情

相关推荐

Activiti7与SpringBoot整合开发

SpringBoot 整合 Activti7 的具体步骤大概包括以下4步: 1.添加 SpringBoot 整合 Activti7 的相关jar包 2.添加 SpringSecurity 安全框架的整合配置信息 3.使用 Activti7 新支持的类来实现工作流开发 ProcessRuntime 接口 TaskRuntime 接口 4.使用新的 API 实现工作流开发,主要包括 流程定义查询 启动...

qq_32568703的博客 7510

redisTimplate常用方法总结

1. opsForValue() //取出key值所对应的值 redisTemplate.opsForValue().get(key); //获取key中字符串的子字符 redisTemplate.opsForValue().get(key, start, end); //获取字符串的长度 redisTemplate.opsForValue().size(key) //设置当前的key以及value值 redisTemplate.opsForValue().set(key, value); //设置当前

个人工作学习内容总结 521

springboot2与redis整合

Redis,对于大家来说应该不陌生,是经常使用的开发技术之一。原始的RDBMS关系型数据库,能够存储海量的数据,但是在某些特殊的情况下,性能并不是特别的好,例如热点数据的读写,数据缓存等。Redis作为NoSQL中的一员,基于内存数据存储,支持多种数据结构,单线程处理,是一款高性能的可持久化key-value数据库。对于Redis就不做过多介绍了,相信大家或多或少都了解过,下面重点描述Spring...

二月初二 4201

RedisTemplate方法详解

maven依赖 <!--redis--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <!--<version>2.1.4.RELEASE</ve

lanfeng_lan的博客 3万+

springboot整合netty

前面介绍了netty的基本使用以及和websocket的整合,下面就说说如何用springboot整合netty,毕竟我们是要把netty作为一个服务端的框架整合到我们的项目中去的,总不能用main函数启动吧,下面来看具体的整合过程, 项目的基本结构如图,这里为了省事,没有整合mybatis和mysql,有兴趣的同学可参考我之前的博客把相关的依赖加进去即可, 1、pom文件,springboot...

congge 3万+

eclipse创建springboot项目和springboot整合ssm

我们之前学过javaweb或者spring都知道依赖都是自己在pom.xml写的,springboot直接避免这一情况,选择你要导入的依赖即可,最初我们选择SpringWeb即可(在web里)但是后面我们要整合ssm于是我们还要在sql中选择mybatis framwork 和 mysql driver。注意:type这是你要创建springboot项目的类型,分别为maven,gradle,我们选择maven,同时你要创建Name:springboot_01_base_config。

weixin_73032940的博客 2681

微服务之springboot项目整合

spingboot与springmvc相比有很多优点: 1、直接通过main方法启动,带内置tomcat容器; 2、不需要再多的配置项,功能通过注解即可实现。   项目下载地址: https://download.youkuaiyun.com/download/secoler/10567884 整合了mabatis、开启了事务、加载多个properties,xml文件、实现了拦截器、实现了自定义注...

secoler的博客 680

C# Code-Behind 技术全面解析

Code-Behind 是 ASP.NET Web Forms 中的一种技术模式,通过将用户界面标记(.aspx文件)与程序逻辑代码(.aspx.cs文件)分离,实现表现层与逻辑层的解耦。其核心思想是前端展示与后台逻辑的物理文件分离,通过ASP.NET编译器将两者合并编译成一个Page类并执行。Code-Behind 的优势包括较好的代码组织、较高的开发效率,尤其适合快速开发数据驱动应用。然而,与现代开发模式如ASP.NET MVC、ASP.NET Core和Blazor相比,Code-Behind 在可维

记录学习的过程 957

RedisTemplate用法详解

Redis 可以存储键与5种不同数据结构类型之间的映射,这5种数据结构类型分别为 String(字符串)、List(列表)、Set(集合)、Hash(散列)和 Zset(有序集合)。 Redis 介绍 Spring-data-redis是spring大家族的一部分,提供了在srping应用中通过简单的配置访问redis服务,对reids底层开发包(Jedis, JRedis, ...

一生很长 有的人生命走到尽头 才可以停下脚步 3万+

VS2022下OSG+OSGEARTH开发环境一键配置指南(Win10 x64+CMake自动化构建)

本文详细介绍了在VS2022环境下配置OSG和OSGEARTH开发环境的完整指南,包括软件下载、CMake自动化构建、编译实战及环境验证。通过一键配置脚本和常见问题解决方案,帮助开发者快速搭建3D开发环境,提升开发效率。

weixin_28828243的博客 405

PCL读取点云数据报错:Failed to find match for field ‘x‘/ ‘y‘/ ‘z‘.

原因:使用matlab生成的pcd文件,点云数据是双精度类型,pcl处理的点云数据是单精度类型。解决方案:使用matlab生成的点云坐标单精度化,然后在生成点云加以存储。

little_white138的博客 869

Springboot 整合与文件配置

static目录 static目录是用来保存静态文件的目录, 比如HTML, JS, CSS, 图片等, 是不需要服务器进行数据绑定的页面. static目录下的文件, SpringBoot帮我们做了静态路径自动解析. 比如: 我写了一个/static/hello.html 在浏览器上访问: localhost/hello.html 即可访问到。

程序猿追的博客 1万+

嵌入式设备电量显示实战:MCP3421 ADC采集从原理到代码全解析(附避坑指南)

本文详细解析了嵌入式设备中MCP3421 ADC芯片在电量显示应用中的硬件设计、寄存器配置、I2C通信调试及低功耗优化策略。通过实战代码和避坑指南,帮助开发者实现高精度电量监测,特别针对I2C时序和分压电路设计等常见问题提供解决方案,适用于物联网终端和移动设备开发。

weixin_42525632的博客 387

Springboot+vue整合

SpringBoot+Vue实战–博客管理 ​ 这段时间决定自学Vue并使用Springboot框架整合Vue项目。终于,再不懈的努力下,终究完成了一个个人博客系统。基本实现了,个人的添加博客模块,删除博客模块修改以及删除模块。下面就开始简单的介绍这个项目 Vue部分: ​ 现在主流都是前后端分离,各自完成自己部分,最后合并。vue是一个应用广泛的前端框架。本次博客管理系统的前端部分就是使用的vue。 对于Vue项目,首先就要使用脚手架创建vue项目,脚手架创建项目的方式有很多种.

weixin_44427407的博客 2万+

3GPP协议解读_物理层系列(一)_物理层协议怎么看?

5G NR相关协议一般都在38系列,点进去以后可以看到,38.2xx系列为物理层相关协议,为了掌握物理层相关知识,应该怎么看协议呢?我建议从38.201读起,对38.2xx系列协议有一个整体的把握。

JCMLSY的博客 1329

【实战教程】OpenClaw接入MySQL数据库实战指南

本文介绍了在虚拟机Ubuntu中访问宿主机Win11中MySQL数据库的配置方法,重点包括创建远程用户、权限配置和安全设置。首先在MySQL中创建具有只读权限的用户并刷新权限,然后调整服务器设置允许远程连接。文章还提供了某金融机构财富管理系统的数据库设计方案,包含理财产品表、客户表和份额表的核心结构,其中金额字段使用DECIMAL类型确保精度,并设置唯一键约束。文末强调测试环境配置完成后应恢复安全更新模式以保障生产环境安全。

海兰 8700

用SpringBoot实现技术整合,体验SpringBoot的简化开发

黑马学习笔记,用SpringBoot整合Junit、mybatis、mybatisPlus以及druid。通过这四种技术的整合,深入理解使用什么技术就需要导入需要的依赖的思想,

知识记录 2989

YOLOv13改进:注意力机制 | 动态稀疏注意力的双层路由方法BiLevelRoutingAttention | CVPR2023

BiLevelRoutingAttention方法对小目标检测效果比较好。可能是因为BRA模块是基于稀疏采样而不是下采样,一来可以保留细粒度的细节信息,二来同样可以达到节省计算量的目的。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 1436

[SpringBoot系列]SpringBoot如何整合SSMP

基于SpringBoot实现SSMP整合 整合JUnit 整合MyBatis 整合MyBatis-Plus 整合Druid

十八岁讨厌编程的博客 2507

手把手教你学simulink实例--基于Simulink的航空发动机控制系统设计与仿真

航空发动机是飞机的核心动力装置,其性能直接影响飞行器的安全性、经济性和可靠性。现代航空发动机控制系统需要具备高精度、快速响应和强鲁棒性的特点,以适应复杂的飞行环境和任务需求。本项目旨在使用MATLAB/Simulink平台,设计并实现一种适用于涡扇发动机的闭环控制系统,通过调节燃油流量、压气机叶片角度等控制变量,确保发动机在不同工况下稳定运行,并满足推力需求。

MHD0815的博客 275

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

二、springBoot 整合 mybatis 项目实战

前言 上一篇文章开始了我们的springboot序篇,我们配置了mysql数据库,但是我们sql语句直接写在controller中并且使用的是jdbcTemplate。项目中肯定不会这样使用,上篇文章也说了,会结合mybatis 或者JPA 使用。我们这篇文章就来结合 mybatis 来使用吧,至于为什么选mybatis 而不是JPA ,这个看个人洗好吧。然后这篇文章会附带一讲一下今天为项目新增的...

程序员爱酸奶 1万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

SpringBoot整合Kafka (二)

Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景,比如基于hadoop的批处理系统、低延迟的实时系统、Storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scala语言编写,Linkedin于2010年贡献给了Apache基金会并成为顶级开源 项目。

2301_80092713的博客 1855

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

SSM老项目修改为SpringBoot项目(springboot与jsp整合)

SSM项目转换成springboot 文章目录废话前言步骤:0.sql文件导入 创建数据库1.新建一个springboot项目2.application.properties配置3.springboot-jsp的整合 废话前言 要想知道改为springboot项目需要修改什么配置什么,就要知道SSM项目web.xml和springmvc.xml给我配置了啥? web.xml配置了中央调度器,以及初始化了一些容器,编码,路由映射(为了将url转发到dispatcherServlet),指定springmvc配

java川 4729

MyBatis与SpringBoot整合:简化配置与开发

1.背景介绍 1. 背景介绍 MyBatis 是一款优秀的持久层框架,它可以使用 XML 配置文件或注解来简化数据库操作。Spring Boot 是一个用于构建微服务应用的框架,它可以简化配置和开发过程。在实际开发中,我们经常需要将 MyBatis 与 Spring Boot 整合使用,以实现更高效的开发。本文将详细介绍 MyBatis 与 Spring Boot 整合的相关知识,并提供一些实...

AI天才研究院 1148

【Java】SpringBoot 单体项目创建 与 整合 Mybatis-Plus

项目准备阶段: 1.创建Spring boot项目 2.整合Mybatis-plus 3.创建并推送至远程仓库

CoderSharry的博客 2768

【SpringBoot2】基于SpringBoot实现SSMP整合

重头戏来了,SpringBoot之所以好用,就是它能方便快捷的整合其他技术,本文讲解一些技术的整合方式,通过这本文的学习,感受SpringBoot到底有多酷炫。本文学习如下技术的整合方式 整合JUnit 整合MyBatis 整合MyBatis-Plus 整合Druid

亮点菌 2070
上一篇: SpringBoot___项目开发整合及设置(一)
下一篇: SpringBoot___访问JSP页面报404错误
pseudonym_
博客等级 码龄10年 88粉丝 205原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值