202108-22 springboot实现在工具类(util)中调用注入service层方法 一、新建BeanUtil类importlombok.extern.slf4j.Slf4j;importorg.springframework.beans.BeansException;importorg.springframework.beans.factory.DisposableBean;importorg.springframework.context.ApplicationContext;importorg.springframework.context.ApplicationContextAware;importjava.util.ArrayList;importjava.util.List;@Slf4jpublicclassBeanUtilimplementsApplicationContextAware,DisposableBean{... 继续阅读 >
202108-22 SpringBoot在自定义类中调用service层等Spring其他层操作 背景:做了一个TCP服务器来接入智能设备,然后需要将设备实时发送的定位等关键信息存储到数据库。为了考虑将来可能对外提供rest接口,采用将TCP服务器集成到SpringBoot框架,当然,也是为了能最快利用mybatis框架实现数据访问,然后依次解决了如何启动,如何注销等各种问题,然后在TCP服务器消息处理时,需要写数据库,直接调用DAO层,编译报错。改为调用Service层,编译正常,运行到调用的地方,报空指针异常,跟踪到异常位置,发... 继续阅读 >
202108-22 解决Vue+SpringBoot+Shiro跨域问题 目录一、配置Vue前端1、开发跨域配置2、生产跨域配置二、配置springboot相信大家刚开始做都会遇到这个问题,在网上找了好多也不管用,都写的不全,在这里记录一下,希望对大家有所帮助一、配置Vue前端在config下index.js中配置代理信息注意:这里的跨域配置只在开发环境中有效,打包部署后,这个跨域就不起作用了,本人也是这里卡了好久,Vue前端打包后,最好部署到nginx上,用nginx可以直接解决跨域问题1、开发跨域配置proxyTabl... 继续阅读 >
202108-22 springboot 如何解决static调用service为null springbootstatic调用service为null@PostConstruct注解好多人以为是Spring提供的。其实是Java自己的注解。Java中该注解的说明:@PostConstruct该注解被用来修饰一个非静态的void()方法。被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。PostConstruct在构造函数之后执行,init()方法之前执行。通常我们会是在Spring框架中使用到@PostConstruct注解该注解的方法在整个Bean初始化中的... 继续阅读 >
202108-20 springboot使用IDEA远程Debug 目录 1、先创建一个准备远程调试的Demo,注意构建项目的配置2、打包3、在IDEA配置远程Debug4、在终端启动刚才打好的jar包5、测试项目上线之后,如果日志打印的很模糊或者业务逻辑比较复杂,有时候无法定位具体的错误原因,因此可以通过IDEA远程代理进行Debug。线上的代码一定要和本地的一致!环境:2.1.4.RELEASE(org.springframework.boot)jdk1.8ApacheMaven3.5.0 1、先创建一个准备远程调试的Demo,注... 继续阅读 >
202108-20 SpringBoot利用jackson格式化时间的三种方法 前言在实际开发中我们经常会与时间打交道,那这就会涉及到一个时间格式转换的问题。接下来会介绍几种在SpirngBoot中如何对时间格式进行转换。准备工作创建项目,添加依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>创建实体类UserDTO添加属性,get、set方法省略。privateStringid;privateStringusername;privateDatecreateTime;创建UserContr... 继续阅读 >
202108-20 Springboot 全局时间格式化操作 时间格式化在项目中使用频率是非常高的,当我们的API接口返回结果,需要对其中某一个date字段属性进行特殊的格式化处理,通常会用到SimpleDateFormat工具处理。SimpleDateFormatdateFormat=newSimpleDateFormat("yyyy-MM-dd");DatestationTime=dateFormat.parse(dateFormat.format(PayEndTime()));可一旦处理的地方较多,不仅CV操作频繁,还产生很多重复臃肿的代码,而此时如果能将时间格式统一配置,就可以省下更... 继续阅读 >
202108-12 springboot实现执行sql语句打印到控制台 springboot执行sql语句打印到控制台1.简介每当写完持久化语句时肯定免不了要查漏补缺一波。这里就可以将执行的sql打印到控制台来检查sql语句哪里出了问题。2.配置配置非常简单,只需要在配置文件中设置下mapper日志级别就可以了3.代码application-test.properties#logging.level.mapper的路径=异常级别logging.level.com.shuhe360.auth.auth_main_car_api.mapper.CarConsumeRecordMapper=DEBUG4.jpa如果操作数据库用的jpa也可以来... 继续阅读 >
202108-12 VUE+SpringBoot实现分页功能 本文主要介绍一下Vue+SpringBoot中如何实现一个分页列表数据。1、效果展示2、VUE代码VUE之视图定义<el-row><el-table:data="tableData"style="width:100%"><el-table-columnv-for="(data,index)intableHeader":key="index":prop="data.prop":label="data.label"... 继续阅读 >
202108-12 springboot结合mybatis-plus快速生成项目模板的方法 目录mybatis-plus简介:项目模板1、项目概览2、美化swagger-uimybatis-plus简介:Mybatis-Plus(简称MP)是一个Mybatis的增强工具,在Mybatis的基础上只做增强不做改变,为简化开发、提高效率而生。这是官方给的定义,关于mybatis-plus的更多介绍及特性,可以参考mybatis-plus官网。那么它是怎么增强的呢?其实就是它已经封装好了一些crud方法,我们不需要再写xml了,直接调用这些方法就行,就类似于JPA。项目模板1、项目概览... 继续阅读 >
202108-10 springboot实现发送QQ邮箱 springboot发送电子邮箱,供大家参考,具体内容如下1.开启qq邮箱开启IMAP/SMTP服务*首先进入qq邮箱点击设置点击账户,然后往下拉开启IMAP/SMTP服务开启成功得到授权密码,这个要记住,一会用2.引入pom依赖<!--发送邮箱--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId><version>2.2.5.RELEASE</version></dependency>3.配... 继续阅读 >
202108-08 SpringBoot中的main方法注入service 一、SpringBoot中的main方法注入service在springboot中使用main方法常规无法注入service,因为以后也可能会有这种情况,所以采取工具类的方式进行,该工具类为固定写法,直接复制就行@ComponentpublicclassSpringContextUtilimplementsApplicationContextAware{privatestaticApplicationContextapplicationContext=null;@OverridepublicvoidsetApplicationContext(ApplicationContextapplicationContext... 继续阅读 >
202108-08 springboot tomcat最大线程数与最大连接数解析 springboottomcat最大线程数与最大连接数首先看看springboot内置的tomcat,该如何配置这两个参数#在配置文件中添加如下内容#tomcat最大线程数,默认为200server.tomcat.max-threads=200#tomcat最大连接数,默认为10000(网上的说法)server.tomcat.max-connections=300如何理解上面两个参数为了方便理解,我这里使用了springboot编写了一个简单了的服务,包含一个模拟登录的接口,并使用jmeter进行测试,不了解jmeter如何使用... 继续阅读 >
202108-08 解决SpringBoot内嵌Tomcat并发容量的问题 一、SpringBoot内嵌Tomcat默认配置与优化在做一个关于秒杀系统的模块,进行Jmeter压测性能的时候发现tomcat并发上不去,深入原因找到可供优化的地方,力求最大性能。发现并发容器问题对单接口进行6000线程压测,每个线程请求5次,线程在5秒内创建完毕,当进行一半的时候,已经出现了请求响应时间过大及其错误率达到了43%。这个并发容量对于配置比较好点的服务器相对来说有点弱。深入SpringBoot底层了解原因在SpringBoot官方文档中... 继续阅读 >
202108-08 java进阶之了解SpringBoot的配置原理 目录一、SpringBoot的特点二、了解容器的功能三、原配置文件的引入四、自动配置原理五、修改默认配置(约定大于配置)六、总结一、SpringBoot的特点首先我们要知道SpringBoot在底层已经为我们添加好了很多依赖。比如我们常用的Tomcat,Spring,SpringMVC这些,甚至连mysql数据库的依赖也为我们添加好了不过SpringBoot2.5.0使用的mysql依赖版本是8.0.25的,如果还在使用mysql5版本的小伙伴们就需要在项目的pom.xml文件中... 继续阅读 >
202108-08 IDEA整合Dubbo+Zookeeper+SpringBoot实现 目录1.提出需求2.环境准备3.业务接口整合4.服务提供者5.服务消费者6.测试7.最后附上另外两种配置文件整合方式7.1XML整合配置文件7.2配置类整合本文主要介绍了IDEA整合Dubbo+Zookeeper+SpringBoot实现,分享给大家,具体如下:放上一张Dubbo的架构图刚刚学过SpringCloud,Dubbo虽然没有Spring家族那么强悍,但始终不能违背Dubbo是一款高性能优秀的RPC框架。click官网地址了解更多自己也是初学者,想自己动手做一个简单的de... 继续阅读 >