
Spring
文章平均质量分 61
宝华的小岛
生命不息,奔跑不止。
展开
-
在Springboot中使用@ControllerAdvice对接口返回数据进行统一包装
使用Springboot设计接口,返回数据大致有三种情况:一是直接返回数据,基本数据和String数据类型会直接返回,其他数据会构建为json返回,系统有内置的转换器在工作;二是放在ResponseEntity中,这个效果和上面是一样的;三是自己定义一个统一格式的数据体,作为统一规范的数据交换格式,也便于前端设计统一的解析规则。就像这样package com.chris.demo.models;import lombok.AllArgsConstructor;import lombo原创 2021-03-30 12:30:16 · 1155 阅读 · 3 评论 -
java.lang.NoClassDefFoundError问题的解决
我把servlet的上传方式放到Springboot中,添加了common-fileupload包,运行的时候一大堆错误,提示java.lang.NoClassDefFoundError。开始以为Springboot的处理有冲突,后来读到这篇文章http://blog.youkuaiyun.com/jamesjxin/article/details/46606307,才恍然大悟。原来我忘记将刚添加的包加入Ar原创 2017-09-10 11:30:20 · 7695 阅读 · 0 评论 -
SpringBoot定时任务的设置
如果我们需要每天定时进行财务汇总,我们的服务器就需要开启线程定时触发,SpringBoot中开启定时任务依然是使用注解。一、首先在Application中添加注解@EnableScheduling二、写一个定时任务的类,使用注解设置类和方法即可@Componentpublic class StartManager { @Scheduled(fixedDelay = 1原创 2017-09-10 19:10:26 · 527 阅读 · 0 评论 -
SpringBoot多表查询的实现
在SpringBoot中,建立一个与单表结构相同的实体类,用@Entity@Table(name="user")建立ORM映射,用@Column(name="name")建立字段映射。就可以用CrudRepository很方便地查询数据库表。但是我们经常需要查询多表关联的数据。如,有这样两个表:user和level。user中存放用户基本信息,level存放用户等级信息,user表中包含有l原创 2017-09-10 22:32:25 · 18387 阅读 · 5 评论 -
SpringBoot中利用AOP实现拦截器效果
既然使用Spring,AOP就是不了或缺的。尝试好多遍,踩了很多坑,最后总算把效果弄出来了。说起来很简单,只需要建一个类就好了。@Aspect@Configurationpublic class InfoInterceptor { private static final String execution_str_01 = "execution(* com.chris.cont原创 2017-09-11 23:13:58 · 3442 阅读 · 1 评论 -
SpringBoot中WebSocket不能实现注入的问题
项目需要长连接业务,我使用SpringBoot中的 ,一切都调得好好的,到对接数据库的时候,一个大坑突然出现:ServerEndpoint中竟然不能实现注入,甚至使用的对象中有注入也不行。找了两天资料,写了好几个demo,有人说在@ServerEndpoint加上, configurator = SpringConfigurator.class,测试不通过;有人说使用 ContextLoader.原创 2017-11-20 11:51:19 · 9010 阅读 · 6 评论 -
Springboot+dubbo+zookeeper学习笔记(二)
时隔数月,第一版基本上线测试,开发组面临第二版重构。因为第一版遭遇需求零碎和管理混乱,毫无节制地修改,导致原来架构好的项目被无情撕碎,体系完全被打乱,程序处处耦合,经常是改完这一处,就会在另一处翻出新问题。加之原来的项目因为无法整体预先规划,四个app和一个管理网站的接口杂揉在一起,臃肿而且杂乱。我就想着赶紧上线,到安排第二版重构的时候实现分布式架构。架构的初始想法,是全部利用SpringClou...原创 2018-03-12 15:23:32 · 460 阅读 · 0 评论 -
Spring Security简单应用
安全框架security完整名称为Spring Security,依赖Spring框架工作。其功能主要是身份认证和授权。关键词:Authentiction:认证Authorization:授权web服务的身份认证,一般在接口正式调用之前,所以应该在拦截器和过滤器中去实现。security已经内置了很多现成的过滤器,框架应用的主要操作是通过配置去调用这些过滤器。一、首先我们建立一...原创 2019-10-11 12:55:41 · 429 阅读 · 0 评论 -
Spring Security + JWT 的简单应用
参照上次的例子:Spring Security简单应用https://blog.youkuaiyun.com/xxkalychen/article/details/102498016这个例子的应用场景是在调用接口的时候发现不能通过验证就自动跳转到登录页面登录,但是登陆成功之后,身份验证信息只是倚靠session来验证。在分布式服务中,我们每一次调用接口都会做验证,这就需要我们在登录时要获取一个jwt,每次...原创 2019-10-11 16:20:46 · 528 阅读 · 0 评论 -
Springboot架构设计(二)封装
这时候数据库还没有准备好,接口需求也没有定下来,我们可以做一些早期的封装。早期封装的好,尽量实现低耦合,就和实现快速开发,而且还能应对各种不确定的变化。一般的接口需求,以获取数据为主。获取数据有些是单一数据类型,有的却是多种数据多种结构组合在一起。比如Android的页面如果比较复杂,就需要组装一套复杂的数据提供。这就导致java后端纵向分割无法确定。我的观点是,controller是数据原创 2017-09-16 17:38:14 · 6505 阅读 · 0 评论 -
基于retrofit网络请求token过期的处理逻辑
手机调用接口,关键数据请求需要验证token,token设置按照一定周期就过期。验证token需要判断token是否过期,如果过期就需要后台调用登陆接口获取新的token,并且用新的token替换原来的token,在后台继续完成原来未完成的请求。经过尝试,基本完成实现与优化。一、首先贴出接口代码,采用SpringBoot编写的简单接口:@RestControllerpublic cl原创 2017-08-31 15:42:34 · 2877 阅读 · 0 评论 -
Springboot架构设计(一)
本来一直做Android设计,因为工作需要目前负责Java后端。主要使用的框架是SpringBoot。自己习惯在做项目的时候进行架构设计,实现低耦合,高灵活,快速开发。研究的时间不长,目前做了一个简单的Java SpringBoot项目架构,简单梳理一下。一、建立项目的时候把Mysql选上,创建项目之后需要添加数据库连接信息。数据库是提前创建好的。连接信息可以写在application原创 2017-09-16 17:01:19 · 15599 阅读 · 0 评论 -
HTML5网页通过ajax跨域调用接口获取json数据并解析(一)
接口使用Idea设计,返回json字符串。HTML5页面使用WebStorm设计,需要导入jquery。设计接口需要有Gson包。一、SpringBoot接口@PostMapping("/getUserListJson") public String getUserListJson() { List userList = userRepository.getUs原创 2017-09-04 10:06:37 · 30766 阅读 · 3 评论 -
SpringBoot实现文件上传
用SpringBoot实现服务器,然后用java和html5实现客户端进行上传测试。一、服务器端接口程序。为省事就在controller中写了,正式的程序我喜欢放在service这一层进行处理调用。@RestController@RequestMapping("/file")public class FileController { /** * 单文件上传原创 2017-09-04 22:14:46 · 23975 阅读 · 9 评论 -
自定义网络传输数据加密与解密
最近做一个电商类的APP,进行后台数据接口的调用。这期间涉及到财务账目的往来,自然很需要重视数据安全的问题。我没有搞过爬虫、抓包之类的技术,但是如果传输过程中的数据被抓,如果被破解了肯定会出问题的。所以我考虑自己做一个加密和解密的算法,在后台将数据打包后进行加密,APP拿到数据又进行解密。经过测试,基本实现了这个过程。首先,我要确定一个思路,就是如何进行加密。解密的过程是一个逆运算原创 2017-08-27 21:12:00 · 4242 阅读 · 0 评论 -
Java自定义框架初步(一)
最近想自己学习写框架,看过一些资料,决定从JavaWeb开始。近来用到SpringBoot写过一些模拟接口,我对这种框架很感兴趣,几行代码就可以写出很实用的数据接口。框架设计除了需要巧妙的思路之外,还需要准备三种技术:1.反射;2.自定义注解;3.资源文件的读写。一般框架常用xml文件做配置,也可以使用properties属性文件。我是用Idea做工具。一、首先创建一个Ja原创 2017-09-02 19:38:59 · 4323 阅读 · 0 评论 -
IntelliJ IDEA+SpringBoot创建模拟接口小程序
一、首先,设计好数据库表,并且填上测试数据二、新建一个Idea程序,使用spring Initialzrxiangdao向导,选择web->web,SQL->jdbc,SQL->MySQL,并且添加gson依赖库三、配置启动文件Application.Java@SpringBootApplicationpublic class Application extends SpringBo原创 2017-08-20 22:21:11 · 2054 阅读 · 2 评论 -
IntelliJ IDEA+SpringBoot用JDBC做一个小型的javaWeb程序
一、首先,设计好数据库表,并且填上测试数据二、新建一个Idea程序,使用Spring Initialzrxiangdao向导,选择web->web,SQL->jdbc,SQL->MySql,并且添加gson依赖库三、配置启动文件Application.java@SpringBootApplicationpublic class Application extends SpringBo原创 2017-08-20 22:04:58 · 1861 阅读 · 0 评论 -
SpringBoot拦截器的使用
一、首先建立拦截器,继承HandlerInterceptorpublic class CustomInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse htt原创 2017-09-16 15:13:08 · 725 阅读 · 0 评论 -
SpringBoot过滤器的使用
只需要建立一个过滤器就搞定了。@WebFilter(urlPatterns = "/*")public class CustomFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { } @Overr原创 2017-09-16 15:45:14 · 13266 阅读 · 1 评论 -
IntelliJ IDEA+SpringBoot+Tomcat部署404问题
因为并行开发,后端一直拿不出接口,我不得不自己做Mock,为了完成网络请求逻辑,我使用Idea做模拟接口。后来发现,使用Idea创建的SpringBoot项目在软件内部的虚拟Tomcat上面可以正常运行,但是因为要做一些WebSocket和文件上传等服务,座椅考虑把程序部署到外部的Tomcat。普通的Web程序都没有问题,SpringBoot部署之后总是404。自己也怀疑想得太简单,估计问题还是出原创 2017-08-20 09:51:44 · 18074 阅读 · 2 评论