Java
GoslingWu
微信公众号请搜索 架构师与哈苏
展开
-
记录一次java项目上线部署
环境操作系统:CentOS Linux release 8.0.1905数据库:mariadb10.3.17安装数据库yum install -y mariadb mariadb-serversystemctl start mariadbmysql_secure_installationmysql -uroot -pGRANT ALL PRIVILEGES ON *.* TO 'r...原创 2020-02-12 10:17:51 · 419 阅读 · 0 评论 -
@ControllerAdvice注解(全局异常捕获)
背景@ControllerAdvice 注解 通常用于定义@ExceptionHandler, @InitBinder和@ModelAttribute 适用于所有@RequestMapping方法的方法。@ExceptionHandler异常处理器作用:可以拦截程序抛出来的指定异常。使用场景:主要使用与项目统一异常处理,对于rest风格的返回统一异常格式。/** * 指定拦...原创 2020-02-12 10:17:03 · 749 阅读 · 0 评论 -
SpringBoot自定义参数验证器
前要之前我们介绍了JSR-303验证方式,十分的方便Spring都帮我们封装好了,但是对一些复杂的验证,还是需要更加灵活的验证器的。JSR-303验证器传送门:https://www.jianshu.com/p/6980266af68e自定义验证器是基于WebDataBinder,在请求流程中处理可以注册转换器之外,它还可以注册验证器!请求参数实体类StudentModel.javap...原创 2020-02-12 10:16:31 · 1632 阅读 · 0 评论 -
@NotNull-JSR-303验证
背景Spring Boot 引入Hibernate Validator 机制来支持 JSR-303 验证规范实现请求参数model类:package com.wzq.test.model;import lombok.Data;import org.springframework.stereotype.Component;import javax.validation.const...原创 2020-02-12 10:15:58 · 374 阅读 · 0 评论 -
SpringBoot自定义请求参数转换器
需求我们可能对接客户的系统的时候,虽然Spring为我们提供的很多方便的转换器,但是遇到还是可能遇到需要自定义请求参数转换器的情况。日期转换器SpringBoot默认是没有配置日期转换器的我们可以自己写,也可以使用配置让SpringBoot来生成:https://www.jianshu.com/p/4b29beffcd8e日期转换器配置代码:package com.wzq.config....原创 2020-02-12 10:15:26 · 1267 阅读 · 0 评论 -
SpringBoot获取请求的参数
说明SpringBoot 为我们封装了许多,简便的获取请求参数的方法!1.获取无注解获取请求参数请求地址:http://192.168.0.115:8080/myproject/test/noAnnotationsMethod?name=hello@GetMapping("noAnnotationsMethod") public Object noAnnotationsMethod...原创 2020-02-12 10:14:55 · 1291 阅读 · 0 评论 -
SpringBoot-400-Bad-Request(Request-header-is-too-large)
错误Request header is too large分析请求头内容过大解决方案1.SpringBoot版本1.3.8.RELEASE在配置文件中添加:如果springboot内置tomcat服务器使用下面配置:server: tomcat: max-http-header-size: 10000000如果springboot内置jetty服务器使用下面配置:s...原创 2020-02-12 10:13:34 · 3224 阅读 · 0 评论 -
SpringBoot请求日期参数异常(Failed-to-convert-value-of-type-'java-lang-String'-
问题Failed to convert value of type ‘java.lang.String’ to required type ‘java.util.Date’; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type [ja...原创 2020-02-11 16:46:10 · 2017 阅读 · 0 评论 -
阿里云视频点播获取视频点播的video信息
背景因为在项目中需要使用阿里云的视频点播服务,需要获取视频点播的时长信息。工具类生成签名串SignatureSignatureUtils.javapackage com.meeno.wzq.alibaba.signature;import com.google.common.collect.Maps;import com.meeno.framework.util.HttpUtil...原创 2020-02-11 16:44:29 · 1856 阅读 · 0 评论 -
java导出excel(easypoi)
介绍easypoi功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板官网地址:http://easypoi.mydoc.io/easypoi需要导入的包 <!--easypoi--> <dependency>...原创 2020-02-11 16:43:01 · 1125 阅读 · 0 评论 -
java获取真实ip工具类
场景有的时候我们需要获取客户端的真实ip,用来实现ip白名单,和黑名单的配置!ip工具类如下package com.meeno.framework.utils;import javax.servlet.http.HttpServletRequest;/** * @Auther: Wzq * @Date: 2019/3/14 14:53 * @Description: 天青色等...原创 2020-02-11 16:42:29 · 930 阅读 · 0 评论 -
java批量下载文件为zip包
批量下载文件为zip包的工具类package com.meeno.trainsys.util;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.*;import java.net.URLEncoder;import java...原创 2020-02-11 16:41:41 · 1313 阅读 · 3 评论 -
java-高并发解决方案
普通单应用并发:1.使用关键字synchronized就可实现。5) 即想提高效率不对方法添加synchronized,又想保证数据准确性,最后使用synchronized(userId) 在Controller层加锁(保证了只有重复数据被加锁,在Controller使用的原因是因为事务会在Service调用完毕才被提交,我实验过在Service同步,150并发会出现2条重复数据,因为事务还没...原创 2020-02-11 16:40:02 · 134 阅读 · 0 评论 -
jpa写原生sql-EntityManager
废话不多说package com.meeno.trainsys.meeting.service;import com.google.common.collect.Lists;import com.meeno.framework.constants.Constants;import com.meeno.framework.page.utils.PageUtils;import com....原创 2020-02-11 16:33:58 · 752 阅读 · 1 评论 -
Specification排序orderby
废话不多说直接贴代码 Specification<Course> sf = new Specification<Course>() { @Override public Predicate toPredicate(Root<Course> root, CriteriaQuery<?> ...原创 2020-02-09 13:49:03 · 5163 阅读 · 0 评论 -
Specification使用notin
废话不多说直接贴代码 Specification<Employee> employeeSpecification = new Specification<Employee>() { @Override public Predicate toPredicate(Root<Employee> root,...原创 2020-02-09 13:48:32 · 2264 阅读 · 0 评论 -
@Transactional-同一个类中方法自调,调用方法事物失效
问题分析一个类中的方法调用另一个事物传播性为创建事物的方法,调用的方法事物失效?SpringAOP 代理的Service对象调用了其方法,这个方法再去调用这个Service中的其他方法是没有使用AOP代理的对象去调用的所以也不会创建新的事物。方案1.再创建一个Service,不要在同一个类中调用。(那它们都是AOP代理的对象,都会创建新的事物)。2.集成ApplicationContex...原创 2020-02-08 13:32:53 · 1810 阅读 · 0 评论 -
Spring-Boot的动态代理AOP原理
前言Spring AOP使用了动态代理技术,动态代理在业界比较流行的实现方式有,CGLIB,Javassist,ASM等等。Spring动态代理实现方式Spring采用了JDK和CGLIB两种方式,我们一般都是接口,配实现类,对应这种方式Spring采用的代理方式是JDK代理,如果实现类没有使用接口,就一个实现类的话就采用CGLIB代理。个人微信公众,经常更新一些实用的干货:...原创 2020-02-08 13:32:22 · 566 阅读 · 0 评论 -
jpa-和-mybatis创建的事物管理器名称
个人微信公众,经常更新一些实用的干货:原创 2020-02-08 13:31:51 · 150 阅读 · 0 评论 -
Spring-bean作用域
个人微信公众,经常更新一些实用的干货:原创 2020-02-08 13:30:55 · 72 阅读 · 0 评论 -
获取SpringBean对象工具类
#获取SpringBean工具类SpringBeanUtil代码如下:package com.meeno.wzq.util;import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.springframework.con...原创 2020-02-08 13:30:23 · 127 阅读 · 0 评论 -
@ImportResource-SpringBoot使用xml配置Bean
#前言SpringBoot推荐使用注解的方式去声明bean,但还是提供了xml的方式去加载bean#一.创建要声明为bean的实体类WzqEntity.javapackage com;/*** @description:* @author: Wzq* @create: 2019-12-12 15:44*/public class WzqEntity { publi...原创 2020-02-08 13:29:52 · 294 阅读 · 0 评论 -
依赖注入@Autowired@Primary@Quelifier使用
@Autowired注入声明的SpringBean对象,根据一定的规则首先按照注入的类型去查找,如果没有找到安装注入的名称去匹配你要注入的属性名称,如果都没有找到启动项目时抛出异常,@Autowired(required = false) 表示没有找到注入对象时,不抛异常,注入null。@Primary如果有多个相同类型的SpringBean,我们可以使用@Primary注解,优先注入...原创 2020-02-07 18:51:23 · 1164 阅读 · 0 评论 -
@Profile 根据不同环境注入bean
介绍@Profile元注解是在不同的生产环境中,@Bean创建的SpringBean根据spring.profiles.active指定的环境不同创建不同环境的bean对象一.@Profile元注解需要配合spring.profiles.active一起使用二.首先在resources下创建三个配置文件image.pngapplication.properties:...原创 2020-02-07 18:49:56 · 857 阅读 · 0 评论 -
Spring Boot Bean的使用,@Repository,@Service,@Controller,@Component
前言在Spring MVC的时候,我们使用xml来配置bean,如今的Spring boot推荐我们使用元注解的发生,那就听Spring Boot的推荐,下面我就为大家来介绍下Spring Boot Bean的使用。声明为SpringBean的元注解@Repository注解:Dao层使用@Service注解:Service层使用@Controller注解:Controlle...原创 2020-02-07 18:49:21 · 385 阅读 · 0 评论 -
Spring boot注入配置为java静态属性
配置文件image.png注入静态变量image.png注意类上面有:@Component注解使用注入的静态变量image.png成功image.png个人微信公众,经常更新一些实用的干货:...原创 2020-02-07 18:48:27 · 231 阅读 · 0 评论 -
Spring Boot注入自定义properties文件配置
创建wzq.propertiesimage.pngwzq.properties注入User实体类中image.png@PropertySource(value = "classpath:wzq.properties",ignoreResourceNotFound = true)classpath:wzq.properties:配置文件路ignoreResourceNot...原创 2020-02-07 18:47:30 · 491 阅读 · 0 评论 -
Spring boot 文件上传大小限制
Spring Boot1.4版本后配置更改为:spring.http.multipart.maxFileSize = 10Mbspring.http.multipart.maxRequestSize=100MbSpring Boot2.0之后的版本配置修改为:spring.servlet.multipart.max-file-size = 10MBspring.servlet.mu...原创 2020-02-07 18:43:54 · 742 阅读 · 0 评论 -
maven打包导入本地jar包
一 . 在项目根目录创建lib文件夹,把jar放入lib文件夹中img二 . 在项目中使用本地jarpom文件配置如下: <!--导入本地jar--> <dependency> <groupId>com.aliyun</groupId> ...原创 2020-02-07 18:42:30 · 620 阅读 · 0 评论 -
推荐一个提供干货的java公众号
原创 2020-01-04 17:13:27 · 167 阅读 · 0 评论 -
maven打包导入本地jar包
一 . 在项目根目录创建lib文件夹,把jar放入lib文件夹中二 . 在项目中使用本地jarpom文件配置如下: <!--导入本地jar--> <dependency> <groupId>com.aliyun</groupId> <artifactId>vod-upload</artifactId...原创 2019-11-27 13:32:30 · 2747 阅读 · 0 评论 -
Centos7 上安装 mysql5.7
Centos7 上安装 mysql5.7**文章没有图片效果,想看带图片的到文章末尾加我微信公众号,搜索标题就能看到了** 文章没有图片效果,想看带图片的到文章末尾加我微信公众号,搜索标题就能看到了 1.卸载原系统中的mariadb……首先执行命令rpm -qa|grep mariadb查看是否有mariadb的安装包,没有可以无视然后使用rpm -e --nodeps mariad...原创 2019-08-13 11:49:43 · 103 阅读 · 0 评论 -
Java 巨坑篇之无底深坑Long类型
背景:因为公司使用的spring jpa 一般表的主键都是Long类型,突然有一次程序好好的跑着啥呀没有改突然死活不进入那个if(entity.id==otherEntity.id) 我开始怀疑人生,开始怀疑Java,开始怀疑Windows是不是系统原因,我甚至开始怀疑是不是硬件原因。最后找不出问题的我,只能求助baidu.com,google.com,但却不知道搜什么,就输入了一个:L...原创 2019-06-29 13:53:41 · 633 阅读 · 0 评论