简单上传文件 文件上传通过MultipartFile或者MultipartFile[]接受文件MultipartFile[]因为是数组如果包涵文件夹就需要遍历获取路径了然后getOriginalFilename()方法获取文件名 String urlName = m.getOriginalFilename(); File infile = new File(path + urlName);//设置路径 if(!path.exists()){ path.mkdirs(); } try {
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
关于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...
Lucene Solr 811 solrSolr是一个高性能,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。luceneLucene是apache jakarta项目的一个子项目,是一个开放源代码的全文检索引擎开发工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。Lucene的目的是为软件开发人员提供一个简
Rabbitmq RabbitMQ 使用场景服务解耦假设有这样一个场景, 服务A产生数据, 而服务B,C,D需要这些数据, 那么我们可以在A服务中直接调用B,C,D服务,把数据传递到下游服务即可但是,随着我们的应用规模不断扩大,会有更多的服务需要A的数据,如果有几十甚至几百个下游服务,而且会不断变更,再加上还要考虑下游服务出错的情况,那么A服务中调用代码的维护会极为困难这是由于服务之间耦合度过于紧密再来考虑用RabbitMQ解耦的情况A服务只需要向消息服务器发送消息,而不用考虑谁需要这些数据;下游服务如果需要.
在ideal中提交GIT 创建本地仓库首先下载GItVCS —> 导入到版本控制 —>创建Git存储仓库找到你的项目作为仓库(然后就创建成功了)上传Git提交填写分支名远程仓库路径上传到远程填写用户名密码提交...
Spring Cloud spring cloud 介绍spring cloud 是一系列框架的集合。它利用 spring boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 spring boot 的开发风格做到一键启动和部署。spring cloud 并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过 spring boot 风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、
Rsdis哨兵 概述监控:不间断的检查主从服务是否如预期一样正常工作事件通知:对被监视的redis实例的异常,能通知系统管理员,或者以API接口通知其他应用程序。智能援救:当被监视的主服务异常时,哨兵会智能的把某个从服务提升为主服务,同时其他从服务与新的主服务之间的关系将得到重新的配置。应用程序将通过redis服务端重新得到新的主服务的地址并重新建立连接。配置服务:客户端可连接哨兵的接口,获得主从服务的相关信息,如果发生改变,哨兵新通知客户端。哨兵的分布式哨兵是个分布式系统,通过配置文件可以多个哨兵合作,以实现
Nginx安装、下载、介绍、入门 Nginx介绍Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。内存: 不到2M并发能力强: 3-5万次/秒 理想环境下 /tomcat服务器 150-220/秒Nginx下载Nginx安装Nginx安装路径不要放到C盘 要求路径中不能有中文+空格---
线程池入门--小练习 线程池的使用步骤可以归纳总结为五步:1:利用Executors工厂类的静态方法,创建线程池对象;2:编写Runnable或Callable实现类的实例对象;3:利用ExecutorService的submit方法或ScheduledExecutorService的schedule方法提交并执行线程任务4:如果有执行结果,则处理异步执行结果(Future)5:调用shutdown()方法,关闭线程池
线程池入门--四(Future) 类型方法说明booleancancel(boolean mayInterruptIfRunning)试图取消对此任务的执行。Vget()如有必要,等待计算完成,然后获取其结果。Vget(long timeout, TimeUnit unit)如有必要,最多等待为使计算完成所给定的时间之后,获取其结果(如果结果可用)。booleanisCancelled()如果在任务正常完成前将其取消,则返回 true。booleanisDone()如果任务已...
线程池入门--三(ScheduleExecutorService接口中的延迟执行任务和定时重复执行任务的功能) ScheduleExecutorService是ExecutorService的子接口具备延迟执行任务和定时重复执行任务的功能
线程池入门--二(Executors获取ExecutorService静态方法) 获取ExecutorServiceJDK中Executor的静态方法newCachedThreadPoolnewFixedThreadPoolnewSingleThreadExecutor