- 浏览: 678320 次
- 性别:
- 来自: 杭州
最新评论
-
changerzhuo_319:
谢谢大佬, 查了一天了没解决
Spring-boot构建多模块依赖工程时,maven打包异常:程序包xxx不存在 -
迪伦少校:
spring越来越优秀的同时,也越来越复杂
spring核心技术(1) -
hbxflihua:
ivi13 写道这种方式会有个问题,假如有个商户的交易量特别大 ...
使用spring-retry实现支付系统异步通知 -
ivi13:
这种方式会有个问题,假如有个商户的交易量特别大,通知全部失败, ...
使用spring-retry实现支付系统异步通知 -
ckxlnd:
挺好的 有借鉴意义
重写DispatcherServlet获取springmvc 所有RequestMapping的url
文章列表
反射机制是Java语言提供的一种基础功能,赋予程序在运行时(注意:不是编译时)自省(introspect)的能力。通过反射我们可用直接操作类或者对象,比如获取某个对象类的定义,获取类声明的属性和方法,调用对象的方法或者构造对象,甚至可以在运行时修改类的定义。
反射会额外消耗一定的系统资源,还可以忽略权限检查,可能会破坏系统封装性产生安全问题。
动态代理是一种方便运行时动态构建代理、动态处理代理方法调用的机制,很多场景都是利用类似机制做到的,比如包装RPC调用、面向切面编程(AOP)等。
实现动态代理的方式很多,比如JDK自身提供的动态代理,它是利用Java
Java的基本类型有八种,三大类:
字符型:char
布尔型:boolean
数值型:byte、short、int、long、float、double,前四种整型,后面两种浮点型
Java八种基本类型的包装类和String都是Immutable类,被声明为final class,所有的属性也都 ...
在 Java 语言中,除了原始数据类型的变量,其他所有都是所谓的引用类型,指向各种不同的对象。理解引用对于掌握 Java 对象生命周期和 JVM 内部相关机制非常有帮助。不同的引用类型,主要体现的是对象不同的可达性(reachable)状态和对垃圾收集的影响。
引用出现的根源是由于GC内存回收的基本原理-GC回收内本质上是回收对象,而目前比较流行的回收算法是可达性分析算法,从GC Roots开始按照一定的逻辑判断一个对象是否可达,不可达的话就说明该对象已死(除此之外另外一种常见的算法就是引用计数法,但是这种算法不能解决相互引用的问题)。基于此Java向用户提供了四种可用的引用 ...
Java语言在设计之初就提供了相对完善的异常处理机制,这种机制大大降低了编写和维护可靠程序的门槛,这也是Java得以大行其道的原因。
Exception与Error
Exception与Error都继承自Throwable类,在Java中只有Throwable类型的实例才可 ...
加密算法分类
加密算法按是否可逆分为单向加密和双向加密。
单向加密
单向加密是不可逆的,也就是说只能进行加密,不能进行解密。通常用来传输或者存储敏感数据,如用户名、密码等。单向加密原则上不可 ...
#spring核心技术
## 基本原理-容器和bean
1、在Spring中,那些组成你应用程序的主体(backbone)及由Spring IoC容器所管理的对象,被称之为bean。 简单地讲,bean就是由Spring容器初始化、装配及管理的对象。
2、org.springframework.beans.fact ...
什么是Shiro?
Apache旗下强大灵活的开源安全框架
提供认证、授权、会话管理、安全加密等功能
Shiro整体架构
SecurityManager Shiro的核心,Shiro通过SecurityManager 提供安全服务;
Authenticator 认证器,管理主体的登录、登出;
Authorizer 授权器,赋予主体有哪些权限;
SessionManager Session管理器,可以脱离web容器;
SessionDao
Spring 4引入了WebSocket API,浏览器和Web服务器可以根据WebSocket API通过WebSocket协议进行通信。通过这种方式,我们可以创建一个高度交互的UI和在线游戏,需要从服务器快速响应。SockJS在UI上提供类似WebSocket的对象。STOMP客户端用于通过WebSocket协议进行通信。我正在使用tomcat服务器来部署项目。下图为WebSocket通信的图表。
WebSocket协议
WebSocket是一种在浏览器和Web服务器之间进行通信的协议。WebSocket通过TCP协议工作。它在浏览器和Web服务器之间打开套接字连接 ...
最近在做项目时遇到一个问题,同一个方法中两次更新入库,其中一次成功,一次没执行。我先是排查应用程序日志,发现程序日志并没有异常,然后根据执行时间查了mysql的binlog日志。
binlog日志查看脚本如下:
/usr/local/mysql/bin/mysqlbinlog -v --start-datetime='2018-12-26 17:55:00'
--stop-datetime='2018-12-26 17:57:00' logs/mysql-bin.000004 >/tmp/tmp.sql
binlog日志显示确实只执行了一次更新操作
### UPDA ...
前两篇介绍了应用国际化的注意事项和提示语国际化的简单实现。后来阅读spring源码发现,spring对国际化的支持已经很到位了,很多地方都不需要在程序中处理。比如语言切换的拦截器,spring已经自带了。本文介绍更简洁的基于spring的提示语国际化实现方案。
1、web.xml配置, web.xml中需要配置ContextLoaderListener和DispatcherServlet,这个就不多讲了。
<servlet>
<servlet-name>springServlet</servlet-name>
<servlet- ...
上一篇介绍了应用国际化需要考虑的问题,本篇介绍后端如何实现提示语的国际化。
先说说系统框架,本项目采用React + Spring + MyBatis + RabbitMQ + Redis等主流框架组合搭建而成,前后端分离。不得不说,在Spring Framework的加持下,做什么事情都方便的多。
1、添加LangCookieFilter,拦截参数中带有lang的请求,并将语言标识存入cookie。
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.Filte ...
最近在做数字资产交易所的项目,项目已经趋于稳定,下一步是提供国际化支持。接下来我来讲讲国际化需要考虑哪些问题?国际化如何落地?文章仅代表个人观点,欢迎留言拍砖。
应用国际化需要考虑的问题:
1、前后 ...
一、大类检查点:
大类
细项
上传功能
绕过文件上传检查功能
上传文件大小和次数限制
注册功能
注册请求是否安全传输
项目架构
dw
|
|----dw-demo(接口demo)
|
|----dw-core(代码核心)
|
|----dw-api(接口,依赖dw-core)
|
|----dw-manage(后台,依赖dw-core)
一、准备工作
首先看下各模块pom文件
1、项目父工程POM
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xs ...
项目
dw(父类工程,定义各模块,指定模块依赖jar版本)
|------------------------------
|--da-core 核心代码
|
|--da-manage 后台管理,依赖da-core
|
|--da-api API接口,依赖da-api