- 博客(58)
- 收藏
- 关注
原创 简单上传文件
文件上传通过MultipartFile或者MultipartFile[]接受文件MultipartFile[]因为是数组如果包涵文件夹就需要遍历获取路径了然后getOriginalFilename()方法获取文件名 String urlName = m.getOriginalFilename(); File infile = new File(path + urlName);//设置路径 if(!path.exists()){ path.mkdirs(); } try {
2021-08-10 10:01:38 225
原创 ex表格导入代码
package com.cn.xxx;@PermInfo(value = "成绩管理", pval = "xx:xx:xx")@RestController@RequestMapping("/xx")public class Controller { @Autowired private XXXX xxxx; /** * Excel模板导入考试成绩 */ @RequestMapping(value = "/saveExamGradesExc
2021-05-27 22:56:18 560
原创 关于mybatis映射文件中表一对多时分页异常解决方法
<resultMap id="resultMapName" type="com.cn.entity.实体类名"> <id property="id" column="id"/> <result property="stuId" column="stu_id"/> <result property="subjectId" column="subject_id"/> <result pro...
2021-05-27 22:34:54 443
转载 Lucene Solr 811
solrSolr是一个高性能,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。luceneLucene是apache jakarta项目的一个子项目,是一个开放源代码的全文检索引擎开发工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。Lucene的目的是为软件开发人员提供一个简
2020-10-12 14:24:38 292
转载 Rabbitmq
RabbitMQ 使用场景服务解耦假设有这样一个场景, 服务A产生数据, 而服务B,C,D需要这些数据, 那么我们可以在A服务中直接调用B,C,D服务,把数据传递到下游服务即可但是,随着我们的应用规模不断扩大,会有更多的服务需要A的数据,如果有几十甚至几百个下游服务,而且会不断变更,再加上还要考虑下游服务出错的情况,那么A服务中调用代码的维护会极为困难这是由于服务之间耦合度过于紧密再来考虑用RabbitMQ解耦的情况A服务只需要向消息服务器发送消息,而不用考虑谁需要这些数据;下游服务如果需要.
2020-09-27 17:39:01 569 1
原创 Spring Cloud
spring cloud 介绍spring cloud 是一系列框架的集合。它利用 spring boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 spring boot 的开发风格做到一键启动和部署。spring cloud 并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过 spring boot 风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、
2020-09-22 20:39:47 379
原创 在ideal中提交GIT
创建本地仓库首先下载GItVCS —> 导入到版本控制 —>创建Git存储仓库找到你的项目作为仓库(然后就创建成功了)上传Git提交填写分支名远程仓库路径上传到远程填写用户名密码提交...
2020-09-22 15:07:09 349
原创 Rsdis哨兵
概述监控:不间断的检查主从服务是否如预期一样正常工作事件通知:对被监视的redis实例的异常,能通知系统管理员,或者以API接口通知其他应用程序。智能援救:当被监视的主服务异常时,哨兵会智能的把某个从服务提升为主服务,同时其他从服务与新的主服务之间的关系将得到重新的配置。应用程序将通过redis服务端重新得到新的主服务的地址并重新建立连接。配置服务:客户端可连接哨兵的接口,获得主从服务的相关信息,如果发生改变,哨兵新通知客户端。哨兵的分布式哨兵是个分布式系统,通过配置文件可以多个哨兵合作,以实现
2020-09-12 14:02:06 276
原创 Nginx安装、下载、介绍、入门
Nginx介绍Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。内存: 不到2M并发能力强: 3-5万次/秒 理想环境下 /tomcat服务器 150-220/秒Nginx下载Nginx安装Nginx安装路径不要放到C盘 要求路径中不能有中文+空格---
2020-09-05 17:20:28 520
原创 线程池入门--小练习
线程池的使用步骤可以归纳总结为五步:1:利用Executors工厂类的静态方法,创建线程池对象;2:编写Runnable或Callable实现类的实例对象;3:利用ExecutorService的submit方法或ScheduledExecutorService的schedule方法提交并执行线程任务4:如果有执行结果,则处理异步执行结果(Future)5:调用shutdown()方法,关闭线程池
2020-09-05 15:57:36 1155
原创 线程池入门--四(Future)
类型方法说明booleancancel(boolean mayInterruptIfRunning)试图取消对此任务的执行。Vget()如有必要,等待计算完成,然后获取其结果。Vget(long timeout, TimeUnit unit)如有必要,最多等待为使计算完成所给定的时间之后,获取其结果(如果结果可用)。booleanisCancelled()如果在任务正常完成前将其取消,则返回 true。booleanisDone()如果任务已...
2020-09-05 11:35:21 543
原创 线程池入门--三(ScheduleExecutorService接口中的延迟执行任务和定时重复执行任务的功能)
ScheduleExecutorService是ExecutorService的子接口具备延迟执行任务和定时重复执行任务的功能
2020-09-05 10:32:06 1100
原创 线程池入门--二(Executors获取ExecutorService静态方法)
获取ExecutorServiceJDK中Executor的静态方法newCachedThreadPoolnewFixedThreadPoolnewSingleThreadExecutor
2020-09-05 00:50:02 706
原创 mybatis-plus基础入门
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求
2020-09-01 00:24:24 480
原创 关于链式加载@Accessors
链式加载chain为一个布尔值,如果为true生成的set方法返回this,为false生成的set方法是void类型。默认为false,除非当fluent为true时,chain默认则为true, chain = true 是,对对象设置时候可以使用Lambda表达式。package com.jt.pojo;import lombok.Data;import lombok.experimental.Accessors;@Data@Accessors(chain=true) //链式加载
2020-08-26 11:34:12 800
原创 在linux系统中安装安装数据库和基础配置
安装数据库输入命令: yum install mariadb-server输入:y然后确认mariadb安装成功数据命令操作1. 启动数据库命令 systemctl start mariadb2. 停止数据库命令 systemctl stop mariadb3. 重启数据库命令 systemctl restart mariadb配置数据库 mysql_secure_installation数据库登陆操作输入命令:mysql -u root -p修改数据库权限/
2020-08-21 09:03:14 800
原创 在linux虚拟机中安装jdk
安装JDK//进入src路径[root@localhost src]# cd /usr/local/src//ls查询当前路径的文件[root@localhost src]# ls//pwd显示当前路径[root@localhost src]# pwd/usr/local/src[root@localhost src]# rz上传jdk的tar.gz包文件直接把linux的jdk托进去或者rz进去解压tar -xvf jdk-8u51-linux-x64.tar.g
2020-08-21 08:50:56 309
原创 关于Aop的总结
重难点分析AOP 是什么,解决了什么问题,实现原理,应用场景。AOP 编程基本步骤及实现过程(以基于AspectJ框架实现为例)。AOP 编程中的核心对象及应用关系。AOP 思想在Spring中的实现原理分析。AOP 编程中基于注解方式的配置实现。(@Aspect,@PointCut,@Around,…)AOP 编程中基于注解方式的事务控制。(@Transactional)AOP 编程中异步操作的实现?(@EnableAsync,@ASync)AOP 编程中的缓存应用? (@EnableCa
2020-08-19 20:07:24 328
原创 Spring AOP中的异步操作实现
在开发系统的过程中,通常会考虑到系统的性能问题,提升系统性能的一个重要思想就是“串行”改“并行”。说起“并行”自然离不开“异步”,今天我们就来聊聊如何使用Spring的@Async的异步注解。Spring 业务的异步实现启动异步配置在基于注解方式的配置中,借助@EnableAsync注解进行异步启动声明,Spring Boot版的项目中,将@EnableAsync注解应用到启动类上 @EnableAsync //spring容器启动时会创建线程池 @SpringBootApplication
2020-08-19 20:03:32 2867
原创 Spring AOP中的事务处理
Spring 中事务简介事务定义事务(Transaction)是一个业务,是一个不可分割的逻辑工作单元,基于事务可以更好的保证业务的正确性。事务特性事务具备ACID特性,分别是:原子性(Atomicity):一个事务中的多个操作要么都成功要么都失败。一致性(Consistency): 例如存钱操作,存之前和存之后的总钱数应该是一致的。隔离性(Isolation):事务与事务应该是相互隔离的。持久性(Durability):事务一旦提交,数据要持久保存。说明:目前市场上在事务一致性方面,
2020-08-19 19:39:02 529
原创 AOP基础了解与应用
AOP 概述AOP 是什么?AOP(Aspect Orient Programming)是一种设计思想,是软件设计领域中的面向切面编程,它是面向对象编程(OOP)的一种补充和完善。它以通过预编译方式和运行期动态代理方式,实现在不修改源代码的情况下给程序动态统一添加额外功能的一种技术。AOP与OOP字面意思相近,但其实两者完全是面向不同领域的设计思想。实际项目中我们通常将面向对象理解为一个静态过程(例如一个系统有多少个模块,一个模块有哪些对象,对象有哪些属性),面向切面的运行期代理方式,理解为一个动态
2020-08-19 17:54:27 557 2
原创 关于ideal如何修改背景
ideal本身就可以修改背景,所以我们只要设置好快捷键就可以了设置好快捷键(建议使用Ctrl+Shift+Q),然后点击应用或者确认就行了最后在界面通过快捷键就可以修改背景
2020-08-15 16:39:20 631
原创 Ajax 基础技术应用
1.Ajax 简介1.1Ajax 是什么? Ajax (Asynchronous JavaScript and XML) 是一种Web应用技术,可以借助客户端脚本(javascript)与服务端应用进行异步通讯,获取服务端数据以后,可以进行局部刷新。进而提高数据的响应和渲染速度。 - 传统Web应用中简易的同步模型分析基于Ajax技术的异步请求响应模型分析1.2Ajax 技术应用场景Ajax技术最大的优势就是底层异步,然后局部刷新,进而提高用户体验,这种技术现在在很多项目中都有很好的
2020-08-11 14:35:25 298
原创 js基础图解
因为构建对象时还要开辟新的空间我们应该在原型对象中定义构造函数function str(x,y){ this.x=x; this.y=y;};var p1=new str(10,20);//*new的过程拆分成以下三步:*//(1) var p1=new str(10,20); 也就是说,初始化一个对象p1;//(2) p1.__proto__==str.prototype;//(3) str.call(p1); 也就是说构造p1,也可以称之为初始化p1conso.
2020-08-10 10:59:14 297
原创 SpringBoot综合分析、实现
第一:需求调研 (与软件使用人之间的一个沟通,了解其业务)第二:需求分析 (对需求调研内容的总结和细化)第三:原型设计 (是对需求分析结果的更好呈现)第四:需求评审 (签字确认,确认边界,确定业务模块)
2020-08-07 20:50:36 495
原创 springBoot整合连接池、整合MyBatis框架、整合SpringMVC
SpringBoot 基础1 Spring Boot 整合连接池1.1 概述实际开发中应用程序与数据库交互时,“获得连接”或“释放资源”是非常消耗系统资源的两个过程,为了解决此类性能问题,通常情况我们采用连接池技术来重用连接Connection对象。Java为数据库连接池提供了公共的接口:javax.sql.DataSource,各个厂商需要让自己的连接池实现这个接口。然后我们的应用程序中耦合与这个接口,便可以方便的切换不同厂商的连接池,常见的连接池有DBCP、C3P0,DRUID,HikariC
2020-08-07 20:05:58 858
原创 Maven基本配置和Spring Boot 环境配置快速入门(sts版)
1 Spring Boot 简介1.1 Spring Boot 概述现在软件市场已经形成一定的规模,系统架构的复杂度也越来越高(例如有单体架构,分布式架构,微服务架构)。软件的整个架构体系正在发生很大变化,在这种变化中,企业现在更注重技术的开箱即用,更注重技术在生态圈中的深度融合,更注重轻量级的运维。由此spring boot诞生。说明:学技术一定要了解技术发展史,并对技术的发展有一定的前瞻性。1.2 Spring Boot 核心特性Spring boot是一个脚手架(而非框架),构建于Sprin
2020-08-07 18:07:14 765 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人