maven创建分model的工程
摘要:创建parentmvn archetype:generate -DgroupId=com.hikvision -DartifactId=aocp-parent -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=fal
阅读全文
使用throw和throws 引发异常
摘要:1.throw 用在方法内抛出异常,通常可以自行使用try catch进行异常处理 如果不自行处理的话,需要在方法上使用throws抛出异常
阅读全文
手写web框架之加载Controller,初始化框架
摘要:1,加载Controller 我们需要创建 一个ControllerHelper类,让它来处理下面的逻辑: 通过ClassHelper我们可以获取所有定义了Controller注解的类,可以通过反射获取该类中所有带有Action注解的方法,获取Action注解中的请求表达式,进而获取请求方法与请求路
阅读全文
手写web框架之实现依赖注入功能
摘要:我们在Controller中定义了Service成员变量,然后在Controller的Action方法中调用Service成员变量的方法,那么如果实现Service的成员变量? 之前定义了@Inject注解,就用它来实现Service是例话,那么谁来实例化呢。 不是开发者通过new的方式来实例化,而
阅读全文
手写web框架之实现Bean容器
摘要:实现Bean容器 使用ClassHelper可以获取所加载的类,但无法通过类来实例化对象,因此我们需要提供一个反射工具类,让它封装java反射相关的API,对外提供更好用的工具方法。将该类命名为ReflectionUtil,代码如下: 1 package org.smart4j.framework.
阅读全文
手写web框架之加载配置项目
摘要:一 定义框架配置项 在项目的src/main/resources目录下创建一个名为smart.propertiesd的文件,文件的内容如下: 二 加载框架配置项 既然有了配置文件,那么我们需要获取配置文件的值。这是框架需要做的事情,我们在smart-frame项目中创建一个ConfigHelper助
阅读全文
JAVA中注解的实现原理
摘要:注解的本质 「java.lang.annotation.Annotation」接口中有这么一句话,用来描述『注解』。 The common interface extended by all annotation types 所有的注解类型都继承自这个普通的接口(Annotation) 这句话有点抽
阅读全文
RSA加密、解密、签名、验签的原理及方法
摘要:一、RSA加密简介 RSA加密是一种非对称加密。可以在不直接传递密钥的情况下,完成解密。这能够确保信息的安全性,避免了直接传递密钥所造成的被破解的风险。是由一对密钥来进行加解密的过程,分别称为公钥和私钥。两者之间有数学相关,该加密算法的原理就是对一极大整数做因数分解的困难性来保证安全性。通常个人保存
阅读全文
AES256位加密
摘要:目录 1. 算法简介 2. 算法流程 2.1 扩展密钥 2.2 轮密钥加 2.3 字节代替 2.4 行位移 2.5 列混淆 3. 总结 附录A 运算示例 1.算法简介高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是
阅读全文
Java中getResourceAsStream的用法
摘要:首先,Java中的getResourceAsStream有以下几种: 1. Class.getResourceAsStream(String path) : path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取。其只是通过path构造一个绝对路径,最终
阅读全文