![](https://img-blog.csdnimg.cn/20210610141353277.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
java
文章平均质量分 55
java知识点
Code康
java攻城狮小白
展开
-
List集合的各种排序
在Java编程中,经常要对List集合进行排序,因此对List排序的各种情况进行总结,希望对各位读者有所帮助。1.单属性变量List排序 1.1按照变量属性升序,降序排序/*** 单属性变量list 自身属性升序, 降序排序*/private void singleVariableSort1(){ List<Integer> list = Arrays.asList(10,1,6,4,8,7,9,3,2,5); System.out...转载 2021-12-02 10:15:40 · 916 阅读 · 0 评论 -
SpringBoot 配置 okhttp3的操作
1、Maven<dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>3.10.0</version></dependency>2、配置ok.http.connect-timeout=30ok.http.read-timeout=30ok.http.w..转载 2021-11-23 14:40:02 · 1540 阅读 · 0 评论 -
SpringBoot系列——启用https,制作证书
生成证书 自签名证书 使用java jdk自带的生成SSL证书的工具keytool生成自己的证书 1、打开cmd 2、输入命令生成证书keytool -genkeypair -alias tomcat_https -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -keystore d:/tomcat_https.keystore -storepass 123456 -alias 别名 -转载 2021-11-08 11:47:32 · 476 阅读 · 1 评论 -
修复shiro固定会话攻击漏洞 sessionId
@PostMapping("/login") @ResponseBody public AjaxResult ajaxLogin(String username, String password, Boolean rememberMe) { System.out.println("username = " + username); UsernamePasswordToken token = new UsernamePasswordToken(user.原创 2021-11-05 14:52:10 · 637 阅读 · 0 评论 -
Java精确计算小数(BigDecimal)
Java精确计算小数Java在计算浮点数的时候,由于二进制无法精确表示0.1的值(就好比十进制无法精确表示1/3一样),所以一般会对小数格式化处理.但是如果涉及到金钱的项目,一点点误差都不能有,必须使用精确运算的时候,就可以使用BigDecimal方法计算.但是在使用中还需要注意一个问题://直接使用double类型数据进行运算System.out.println(0.05+0.01);//使用BigDecimal的double参数的构造器BigDecimal bd1 = new B转载 2021-10-22 08:55:25 · 1049 阅读 · 0 评论 -
Spring Boot使用@Scheduled定时器任务
1、在Application中设置启用定时任务功能 @EnableScheduling@EnableScheduling注解的作用是发现注解@Scheduled的任务并后台执行。2、创建一个定时任务在定时任务的类上加上注释:@Component,在具体的定时任务方法上加上注释@Scheduled即可启动该定时任务package com.Scheduler.utils;import java.text.SimpleDateFormat;import java.util.Date;i..转载 2021-09-23 14:37:32 · 271 阅读 · 0 评论 -
@FeignClient配置 configuration 不生效
1、Feign全局配置类去掉 @Configuration,在@FeignClient配置中的configuration中指定即可,否则会默认使用全局配置类。2、如果@FeignClient的 value或者name属性相同,则需要配置不同的 contextId属性。原创 2021-09-23 14:21:54 · 5077 阅读 · 2 评论 -
POi 导出word 表格,设置页面横版
https://blog.csdn.net/qq_26408545/article/details/110669104poi 导入,高版本不兼容,建议以下版本:<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version></dependency&g转载 2021-09-09 10:05:37 · 2562 阅读 · 0 评论 -
springboot mybatis-plus分页,返回总数据,页数等
参考连接:https://blog.csdn.net/weixin_39616547/article/details/112281931https://mp.baomidou.com/guide/page.htmlmybatis-plus自带分页插件,无需额外导入1、配置package com.kang.staffinfosystem.config;import com.baomidou.mybatisplus.annotation.DbType;import com.baomi原创 2021-09-07 17:46:09 · 5028 阅读 · 1 评论 -
SpringBoot自定义过滤器的两种方式及过滤器执行顺序
https://www.cnblogs.com/ibigboy/p/11528775.html#_label0_2https://blog.csdn.net/pzgmissyou/article/details/81170388第一种 @WebFilter + @ServletComponentScan 注解1、首先自定义过滤器如下自定义过滤器ReqResFilter必须实现javax.servlet.Filter。然后添加注解 @WebFilter(javax.serv...转载 2021-09-07 15:23:50 · 940 阅读 · 0 评论 -
Spring Bean的生命周期
对于普通的Java对象,当new的时候创建对象,当它没有任何引用的时候被垃圾回收机制回收。而由Spring IoC容器托管的对象,它们的生命周期完全由容器控制。Spring中每个Bean的生命周期如下:1. 实例化Bean对于BeanFactory容器,当客户向容器请求一个尚未初始化的bean时,或初始化bean的时候需要注入另一个尚未初始化的依赖时,容器就会调用createBean进行实例化。对于ApplicationContext容器,当容器启动结束后,便实例化所有的bean。容器通转载 2021-08-21 09:36:38 · 74 阅读 · 0 评论 -
springboot Swagger 3.0.0
1、访问网页也发生变化http://localhost:8080/swagger-ui/index.html2、导入依赖发送变化<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version></dependen...转载 2021-08-20 00:47:35 · 287 阅读 · 0 评论 -
thymeleaf+security
https://segmentfault.com/a/1190000022067693https://segmentfault.com/a/1190000013057238https://www.cnblogs.com/jpfss/p/10910054.html原创 2021-08-19 15:55:17 · 284 阅读 · 0 评论 -
SpringBoot application 常用配置
application可以是 .yml和.properties1、mybatis配置mapper.xml中使用的pojo包路径,配置后在.xml中不用使用带包名的路径mybatis: type-aliases-package: com.kang.springboot04example.pojo2、mybatis配置mapper.xml所在路径,当mapper.xml不在mapper.java同路径时需要配置mybatis: mapper-location:classpath:my原创 2021-08-18 02:26:12 · 256 阅读 · 0 评论 -
idea 启动SpringBoot项目出现java程序包:xxx不存在
启动SpringBoot项目出现java程序包:xxx不存在,然而这个包确实存在指定位置打上对勾,即可原创 2021-08-17 17:18:55 · 2243 阅读 · 0 评论 -
Thymeleaf 模板引擎的使用
11、java SpringBoot Thymeleaf模板引擎html引入依赖 <html lang="en" xmlns:th="http://www.thymeleaf.org">controller传递的参数使用 $,配置文件中传递的参数 使用 #1、添加连接 th:href="@{/user/emps}"2、元素中添加文本 th:text="#{login.btn}" th:text...原创 2021-08-17 00:33:19 · 594 阅读 · 0 评论 -
springboot 关闭模板引擎的缓存thymeleaf
application中配置#关闭模板引擎的缓存spring.thymeleaf.cache=false原创 2021-08-15 17:21:32 · 718 阅读 · 0 评论 -
18、java SpringBoot 集成SpringSecurity
SpringSecurity安全简介在 Web 开发中,安全一直是非常重要的一个方面。安全虽然属于应用的非功能性需求,但是应该在应用开发的初期就考虑进来。如果在应用开发的后期才考虑安全的问题,就可能陷入一个两难的境地:一方面,应用存在严重的安全漏洞,无法满足用户的要求,并可能造成用户的隐私数据被攻击者窃取;另一方面,应用的基本架构已经确定,要修复安全漏洞,可能需要对系统的架构做出比较重大的调整,因而需要更多的开发时间,影响应用的发布进程。因此,从应用开发的第一天就应该把安全相关的因素考虑进来,并在整转载 2021-08-13 11:19:05 · 184 阅读 · 0 评论 -
17、java SpringBoot Dubbo和Zookeeper集成
分布式理论什么是分布式系统?在《分布式系统原理与范型》一书中有如下定义:“分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统”;分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。其目的是利用更多的机器,处理更多的数据。分布式系统(distributed system)是建立在网络之上的软件系统。首先需要明确的是,只有当单个节点的处理能力无法满足转载 2021-08-13 11:18:02 · 138 阅读 · 0 评论 -
16、java SpringBoot 富文本编辑器
聊聊富文本编辑器简介思考:我们平时在博客园,或者CSDN等平台进行写作的时候,有同学思考过他们的编辑器是怎么实现的吗?在博客园后台的选项设置中,可以看到一个文本编辑器的选项:其实这个就是富文本编辑器,市面上有许多非常成熟的富文本编辑器,比如: Editor.md——功能非常丰富的编辑器,左端编辑,右端预览,非常方便,完全免费 官网:https://pandao.github.io/editor.md/ wangEditor——基于javascript和转载 2021-08-13 11:16:28 · 1108 阅读 · 0 评论 -
15、java SpringBoot 异步、定时、邮件任务
前言在我们的工作中,常常会用到异步处理任务,比如我们在网站上发送邮件,后台会去发送邮件,此时前台会造成响应不动,直到邮件发送完毕,响应才会成功,所以我们一般会采用多线程的方式去处理这些任务。还有一些定时任务,比如需要在每天凌晨的时候,分析一次前一天的日志信息。还有就是邮件的发送,微信的前身也是邮件服务呢?这些东西都是怎么实现的呢?其实SpringBoot都给我们提供了对应的支持,我们上手使用十分的简单,只需要开启一些注解支持,配置一些配置文件即可!那我们来看看吧~ 异步任务1、创建一个se.转载 2021-08-12 00:39:26 · 203 阅读 · 0 评论 -
14、java SpringBoot 集成Swagger终极版
项目集成Swagger学习目标: 了解Swagger的概念及作用 掌握在项目中集成Swagger自动生成API文档 Swagger简介前后端分离 前端 -> 前端控制层、视图层 后端 -> 后端控制层、服务层、数据访问层 前后端通过API进行交互 前后端相对独立且松耦合 产生的问题 前后端集成,前端或者后端无法做到“及时协商,尽早解决”,最终导致问题集中爆发 解决方案 首先定义schema [ 计划的提纲转载 2021-08-12 00:36:02 · 199 阅读 · 0 评论 -
13、java SpringBoot 页面国际化
页面国际化有的时候,我们的网站会去涉及中英文甚至多语言的切换,这时候我们就需要学习国际化了!准备工作先在IDEA中统一设置properties的编码问题!编写国际化配置文件,抽取页面需要显示的国际化页面消息。我们可以去登录页面查看一下,哪些内容我们需要编写国际化的配置!配置文件编写1、我们在resources资源文件下新建一个i18n目录,存放国际化配置文件2、建立一个login.properties文件,还有一个login_zh_CN.properties;发现IDEA自动转载 2021-08-12 00:33:32 · 112 阅读 · 0 评论 -
12、java SpringBoot MVC自动配置原理
MVC自动配置原理官网阅读在进行项目编写前,我们还需要知道一个东西,就是SpringBoot对我们的SpringMVC还做了哪些配置,包括如何扩展,如何定制。只有把这些都搞清楚了,我们在之后使用才会更加得心应手。途径一:源码分析,途径二:官方文档!地址 :https://docs.spring.io/spring-boot/docs/2.2.5.RELEASE/reference/htmlsingle/#boot-features-spring-mvc-auto-configuration转载 2021-08-12 00:30:22 · 76 阅读 · 0 评论 -
11、java SpringBoot Thymeleaf模板引擎
模板引擎前端交给我们的页面,是html页面。如果是我们以前开发,我们需要把他们转成jsp页面,jsp好处就是当我们查出一些数据转发到JSP页面以后,我们可以用jsp轻松实现数据的显示,及交互等。jsp支持非常强大的功能,包括能写Java代码,但是呢,我们现在的这种情况,SpringBoot这个项目首先是以jar的方式,不是war,像第二,我们用的还是嵌入式的Tomcat,所以呢,他现在默认是不支持jsp的。那不支持jsp,如果我们直接用纯静态页面的方式,那给我们开发会带来非常大的麻烦,那怎么办呢转载 2021-08-12 00:25:44 · 240 阅读 · 0 评论 -
10、java SpringBoot Web开发静态资源处理
Web开发探究简介好的,同学们,那么接下来呢,我们开始学习SpringBoot与Web开发,从这一章往后,就属于我们实战部分的内容了;其实SpringBoot的东西用起来非常简单,因为SpringBoot最大的特点就是自动装配。使用SpringBoot的步骤:1、创建一个SpringBoot应用,选择我们需要的模块,SpringBoot就会默认将我们的需要的模块自动配置好2、手动在配置文件中配置部分配置项目就可以运行起来了3、专注编写业务代码,不需要考虑以前那样一大堆的配置了。转载 2021-08-12 00:19:25 · 190 阅读 · 0 评论 -
9、java SpringBoot 整合MyBatis
整合MyBatis官方文档:http://mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/Maven仓库地址:https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter/2.1.1整合测试1、导入 MyBatis 所需要的依赖<dependency> <group转载 2021-08-12 00:16:07 · 73 阅读 · 0 评论 -
8、java SpringBoot 整合Druid
集成DruidDruid简介Java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池。Druid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C3P0、DBCP 等 DB 池的优点,同时加入了日志监控。Druid 可以很好的监控 DB 池连接和 SQL 的执行情况,天生就是针对监控而生的 DB 连接池。Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。Spring Boot 2.0 以上默认使用 Hikar转载 2021-08-12 00:12:56 · 139 阅读 · 0 评论 -
7、java SpringBoot 整合JDBC
SpringData简介对于数据访问层,无论是 SQL(关系型数据库) 还是 NOSQL(非关系型数据库),Spring Boot 底层都是采用 Spring Data 的方式进行统一处理。Spring Boot 底层都是采用 Spring Data 的方式进行统一处理各种数据库,Spring Data 也是 Spring 中与 Spring Boot、Spring Cloud 等齐名的知名项目。Sping Data 官网:https://spring.io/projects/spring-da转载 2021-08-12 00:09:51 · 243 阅读 · 0 评论 -
6、java SpringBoot 自定义starter
自定义Starter我们分析完毕了源码以及自动装配的过程,我们可以尝试自定义一个启动器来玩玩!说明启动器模块是一个 空 jar 文件,仅提供辅助性依赖管理,这些依赖可能用于自动装配或者其他类库;命名归约:官方命名: 前缀:spring-boot-starter-xxx 比如:spring-boot-starter-web.... 自定义命名: xxx-spring-boot-starter 比如:mybatis-spring-boot-starter转载 2021-08-12 00:05:47 · 165 阅读 · 3 评论 -
5、java SpringBoot 自动配置原理
自动配置原理配置文件到底能写什么?怎么写?SpringBoot官方文档中有大量的配置,我们无法全部记住分析自动配置原理我们以HttpEncodingAutoConfiguration(Http编码自动配置)为例解释自动配置原理;//表示这是一个配置类,和以前编写的配置文件一样,也可以给容器中添加组件;@Configuration //启动指定类的ConfigurationProperties功能; //进入这个HttpProperties查看,将配置文件中对应的值和HttpPro转载 2021-08-11 21:47:08 · 84 阅读 · 0 评论 -
4、 java SpringBoot JSR303数据校验及多环境切换
JSR303数据校验先看看如何使用Springboot中可以用@validated来校验数据,如果数据异常则会统一抛出异常,方便异常中心统一处理。我们这里来写个注解让我们的name只能支持Email格式;@Component //注册bean@ConfigurationProperties(prefix = "person")@Validated //数据校验public class Person { @Email(message="邮箱格式错误") //name必须是邮箱格式转载 2021-08-11 15:31:26 · 66 阅读 · 0 评论 -
3、java SpringBoot yaml配置注入
yaml语法学习配置文件SpringBoot使用一个全局的配置文件 , 配置文件名称是固定的 application.properties 语法结构 :key=value application.yml 语法结构 :key:空格 value 配置文件的作用 :修改SpringBoot自动配置的默认值,因为SpringBoot在底层都给我们自动配置好了;比如我们可以在配置文件中修改Tomcat 默认启动的端口号!测试一下!server转载 2021-08-11 14:43:14 · 324 阅读 · 0 评论 -
2、java SpringBoot 运行原理初探
运行原理探究我们之前写的HelloSpringBoot,到底是怎么运行的呢,Maven项目,我们一般从pom.xml文件探究起;pom.xml父依赖其中它主要是依赖一个父项目,主要是管理项目的资源过滤及插件!<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId>转载 2021-08-11 14:41:42 · 89 阅读 · 0 评论 -
1、java SpringBoot Hello,World!
SpringBoot简介回顾什么是SpringSpring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson 。Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。Spring是如何简化Java开发的为了降低Java开发的复杂性,Spring采用了以下4种关键策略:1、基于POJO的轻量级和最小侵入性编程,所有东西都是bean;2、通过IOC,依赖注入(DI)和面向接口实现松耦合;3、基于切面(AOP)和惯例进行声明式.转载 2021-08-11 14:37:01 · 113 阅读 · 0 评论 -
7、java SpringMVC Ajax研究
Ajax研究简介 AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。 AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 Ajax 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。 在 2005 年,Google 通过其 Google Suggest 使 AJAX 变得流行起来。Google Suggest能够自动帮你完成搜索单词。转载 2021-08-07 01:08:46 · 96 阅读 · 0 评论 -
6、java SpringMVC 整合SSM框架
整合SSM环境要求环境: IDEA MySQL 5.7.19 Tomcat 9 Maven 3.6 要求: 需要熟练掌握MySQL数据库,Spring,JavaWeb及MyBatis知识,简单的前端知识; 数据库环境创建一个存放书籍数据的数据库表CREATEDATABASE `ssmbuild`;USE `ssmbuild`;DROPTABLEIF EXISTS `books`;CREATETABLE`book...转载 2021-08-05 14:04:39 · 90 阅读 · 0 评论 -
spring中json字符串乱码解决
方法1、控制器中指定编码@RequestMapping(value = "/json1",produces = "application/json;charset=utf-8")方法2、在beans配置文件中配置<mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <bean class="org.springframework.http.conve原创 2021-08-05 13:31:08 · 174 阅读 · 0 评论 -
5、java SpringMVC Json交互处理
Json什么是JSON? JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别广泛。 采用完全独立于编程语言的文本格式来存储和表示数据。 简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。 在 JavaScript 语言中,一切都是对象。因此,任何JavaScript 支持的类型都可以通过 JSON 来表示,转载 2021-08-05 12:29:47 · 134 阅读 · 0 评论 -
4、java SpringMVC 数据处理及跳转
结果跳转方式ModelAndView设置ModelAndView对象 , 根据view的名称 , 和视图解析器跳到指定的页面 .页面 : {视图解析器前缀} + viewName +{视图解析器后缀}<!-- 视图解析器 --><beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver">...转载 2021-08-04 23:16:23 · 138 阅读 · 0 评论