Java
文章平均质量分 52
mml_慢慢来
坚持别人不能坚持的坚持,才能享受别人不能享受的享受。
展开
-
spring mvc 关于对optional的处理和自定义处理
springmvc4.1+能够支持optional参数,但不支持对象内field的optional。举个例子//对于这种直接在方法上定义的optional的基本类型或者引用类型//比如参数里没有id,或者没有obj,那么spring mvc会设置一个空的Optional对象//咱们可以通过Optional对象进行空判断@GetMapping("/get")public void test1(Optional<String> id, Optional<Object>原创 2021-10-28 14:51:54 · 741 阅读 · 0 评论 -
nexus批量写入jar包
写一个名为mavenimport.sh的脚本#!/bin/bashwhile getopts ":r:u:p" opt; do case $opt in r) REPO_URL="$OPTARG" ;; u) USERNAME="$OPTARG" ;; p) PASSWORD="$OPTARG" ;; esacdonefind . -type -not -path './maveni原创 2021-10-20 09:54:13 · 207 阅读 · 0 评论 -
spring加载机制
// 准备工作,记录下容器的启动时间、标记“已启动”状态、处理配置文件中的占位符prepareRefresh();ConfigurableListableBeanFactory beanFactory = obtainFreshBeanFactory();// 设置 BeanFactory 的类加载器,添加几个 BeanPostProcessor,//手动注册几个特殊的 bean, 类加载器,Aware 接口初始化处理类, 事件监听器等等prepareBeanFactory(beanFacto.原创 2021-09-23 11:27:29 · 1527 阅读 · 0 评论 -
spring-boot-maven-plugin的build-image使用
这个插件的作用就是帮你自动生成跨全平台的镜像服务,无需再自己手动写Dockerfile文件了,它是基于buildpacks这个规范,有一系列的生命周期,和maven差不多意思。正常来说,如果你是在互联网的话,它会自动的检测你项目的语言,运行时环境(python、nodejs、jvm)等等,自动从网络下载对应的依赖,一键即可生成,实在是非常好用! 它的一些生命周期和配置可以在https://github.com/paketo-buildpacks这里看到,首先spring-b...原创 2021-09-17 09:13:53 · 3458 阅读 · 0 评论 -
springsecurity的认证鉴权,acl,oauth2.0
主要就是一些拦截器链,@PreAuthorize,@PreFilter,@PostAuthorize和@PostFilter认证AuthenticationManager基于列表的ProviderManager实现,每个处理器都有机会处理验证成功或失败AuthenticationProvider获取适配的处理器鉴权AccessDecisionManager基于投票的 AccessDecisionManager 实现,投票决策管理器AccessDecisionVoter基本..原创 2021-09-02 15:05:31 · 542 阅读 · 0 评论 -
springmvc关于404的异常处理
------------------------------分割线------------------------------------------今天看了下springmvc关于404处理的问题默认url的话其实springmvc会有很多MappingHandler进行适配(HandlerAdapter),像我们通常的RequestHandlerMappingHandler(通过Controller和RequestMapping注解定义的路径),这时候如果我们没有一个requestMapping原创 2021-08-30 11:41:54 · 2141 阅读 · 0 评论 -
java9的模块化
到现在了,都快java17了,可是对于java9的module对于正式生产的使用文章少之又少,由于可以分模块打包,在加上graalvm的native image,对于云原生发布支持很好,这里记录下笔记.使用jdeps --class-path [classpath路径] [xxx/xxx/xx(类名路径)] 查看依赖关系module-info.javaopen module { //使用open关键字,可以用于spring对自己的项目的类进行反射requires spring.b..原创 2021-05-19 15:38:17 · 677 阅读 · 0 评论 -
spring 和 springmvc 容器关系 父子关系
笔记,一般项目都会用到spring和springmvc,然而这两个却不是在一个容器,众所周知,spring提供容器可以从容器里获取对象.spring和springmvc是父子容器关系,springmvc可以获取spring容器里的对象,反之则获取不到.现遇到两个实际情况,使用aop的时候我模拟切面类在service层,注入点在controller层,我spring只扫描了service层,原创 2018-01-08 18:25:00 · 630 阅读 · 0 评论 -
springmvc 整合 shiro 无法访问控制器 404问题
--> 这是springmvc.xml的配置,applicationContext.xml的配置如下 <bean id="formAuthenticationFilter" class="org.apache.shiro.web.filter.authc.FormAuthenticationFilter转载 2018-01-09 09:34:28 · 4905 阅读 · 0 评论 -
idea 实用技能 快捷键 问题处理记录
idea项目先使用svn然后又用到了git,怎么在切换回svn?答:在.idea项目配置文件夹里的vcs.xml修改,把git注释掉 --> idea怎么实现鼠标左键+ctrl进入实现类答:setting->keymap->Main Menu > Navigate > Go to Declaration(接口) /Go to Implementa原创 2018-01-09 10:01:13 · 445 阅读 · 1 评论 -
shiro学习笔记 过滤器 shiro 表单 验证码 登录
自己自定义实现了一个验证码表单过滤器,基于FormAuthenticationFilter代码如下:package cn.ddsxy.ddlx.shiro;import cn.ddsxy.ddlx.util.CaptchaUtil;import org.apache.shiro.authc.AuthenticationException;import org.apache.shir原创 2018-01-09 18:49:08 · 2850 阅读 · 0 评论 -
java 桌面应用开发相关的类
java开发主要有awt,swing,javafx,笔记记录如下主要几个跟桌面相关的桌面Robot类,模拟事件DeskTop类,可以打开默认软件等//URI指定网页的地址 desktop.browse(new URI("https://blog.csdn.net/qq_31349087")); 右下角工具栏图标代码SystemTray tray = SystemTray.getSystemT...原创 2018-04-10 22:11:41 · 674 阅读 · 0 评论 -
SpringBoot自定义配置
@Bean@Scope("singleton")public ObjectMapper objectMapper(){ return new ObjectMapper();}声明这个json处理会覆盖掉spring的,导致json解析失败下面是使用自定义的fastjson 自定义springboot配置 @Configuration @ConditionalOnClass({Fast...原创 2018-04-20 15:06:50 · 761 阅读 · 0 评论 -
Spring AOP 实现原理----AspectJ与CGLIB介绍
简介: AOP(Aspect Orient Programming),也就是面向方面编程,作为面向对象编程的一种补充,专门用于处理系统中分布于各个模块(不同方法)中的交叉关注点的问题,在 Java EE 应用中,常常通过 AOP 来处理一些具有横切性质的系统级服务,如事务管理、安全检查、缓存、对象池管理等。AOP 实现的关键就在于 AOP 框架自动创建的 AOP 代理,AOP 代理主要分为静态转载 2018-01-08 17:29:33 · 474 阅读 · 0 评论 -
springmvc 视图解析器 原理 返回根据请求返回xml或者json
之前公司的项目能什么都不配置就实现自动返回xml或者json(浏览器直接打开连接返回xml,ajax提交返回json),今天自己搭的框架也想实现这个效果,总结如下:如果想实现什么都不配置需要导入以下两个jar com.fasterxml.jackson.core jackson-databind ${jackson.v原创 2018-01-08 14:23:03 · 3230 阅读 · 0 评论 -
java模拟登录qq网站,实现一键签到等等功能
qq的网页登录是通过加密的,直接上最关键代码使用JavaScript引擎调用qqRSA.js的加密文件参数包含 用户名 密码 验证码/** * * @return 返回加密后的字符串 */ public String encrypt() { try { ScriptEngineManager m = new ScriptEngineManager();原创 2016-07-15 14:39:10 · 2869 阅读 · 1 评论 -
实现java接口@Override报错
因为使用maven创建项目的原因,项目默认的jdk版本为1.51.5版本是不支持接口实现时使用@Override注解的于是进行修改进properties -> java compliance 把1.5改成1.8把jre也改成1.8的可是一直src/main/Resources报错最后还需要修改maven的配置进properties -> Project Facets原创 2016-08-10 15:52:18 · 10165 阅读 · 0 评论 -
tomcat7 el表达式异常
任务安排的一个企业网站,在我本地跑的好好的,到别的机器上就报错,elException,通过检查,是el表达式中包含关键字引起的。发现我使用的是maven的tomcat插件6.0版本,而其他机器上是tomcat7,el表达式中 包含了new关键字,tomcat7会进行严格检查,所以我改变变量名之后,就没错了。原创 2016-10-26 16:23:28 · 1409 阅读 · 0 评论 -
spring 回滚事务 异常处理 手动回滚 公司通用处理方式
在service层try catch掉在catch里加入TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); 手动回滚事务,返回自定义值给上层处理这是笔记,不多解释原创 2017-04-17 21:19:42 · 2353 阅读 · 0 评论 -
springmvc @RestController restful风格的用法
RestController标注的类的方法自带response body原创 2017-04-17 22:39:19 · 1309 阅读 · 0 评论 -
mybatis 分页 RowBounds
在接口传入RowBounds对象即可new RowBounds(count,pageNo,pageSize);count:总记录数pageNo:当前页pageSize:每页记录数mybatis自动在sql中加入分页(在mysql中加入limit)原创 2017-04-17 22:42:23 · 5963 阅读 · 0 评论 -
使用httpclient 抓包 提交表单 网络请求
接了个私活,批量注册某app账号,使用fiddler抓包后,多线程批量注册,httpclient的请求工具类源码可以通用任何需要网络请求的地方,分享出来package cn.zhaozhiguang.hepai.util;import java.io.File;import java.io.IOException; import java.security.KeyManagement原创 2017-05-24 22:02:10 · 2156 阅读 · 0 评论 -
idea创建gradle项目失败 运行环境上下文不一致导致的错误
最近有空就了解下gradle构建工具也正好熟悉使用idea,之前一直都是eclipse,觉得这是趋势,业余先熟练起来用idea创建gradle项目自己配置的java_home都是指向的jdkbuild一下说是上下文不一致,指向的是jre搞了两三天一直琢磨,不知道哪配错了,但是知道是配置出了问题直接解决方案了,idea可以切换启动jdk,因为idea也是java写的,原创 2017-06-16 22:47:17 · 2989 阅读 · 4 评论 -
mybatis错误 Invalid bound statement (not found)
在idea创建gradle项目,出现Invalid bound statement (not found)错误一看打包的jar,原来mapper.xml配置文件没有一起打包于是把mapper.xml放到了resources目录下,目录结构和java包结构一致可以了原创 2017-08-12 11:06:23 · 416 阅读 · 0 评论 -
spring事务 方法调用内部方法 事务不生效
@Autowired private ApplicationContext context;在类里加入上下文 @PostConstruct // 初始化方法 private void setSelf() { //从上下文获取代理对象(如果通过proxtSelf=this是不对的,this是目标对象) //此种方法不适合于prototype Bean,因为每次g原创 2017-10-19 16:38:12 · 6165 阅读 · 0 评论 -
shiro 登录 过滤器 返回json
/** * 表示访问拒绝时是否自己处理,如果返回true表示自己不处理且继续拦截器链执行,返回false表示自己已经处理了(比如重定向到另一个页面) * @param request * @param response * @return * @throws Exception */ @Override protected原创 2018-01-11 11:01:33 · 5541 阅读 · 0 评论 -
java 模块化
OSGI (面向Java的动态模型系统) OSGi(Open Service Gateway Initiative)技术是Java动态化模块化系统的一系列规范。OSGi一方面指维护OSGi规范的OSGI官方联盟,另一方面指的是该组织维护的基于Java语言的服务(业务)规范。简单来说,OSGi可以认为是Java平台的模块层。OSGi服务平台向Java提供服务,这些服务使Java成为软件集成和转载 2018-01-13 09:54:35 · 1374 阅读 · 0 评论 -
hibernate级联删除
hibernate级联删除,有三个实体类,一级分类(category),二级分类(categorySecond)文章(article),开始的想法是,想删除一级分类的同时删除二级分类,可是一直没有成功,按照网上的做法,把cascade="delete" inverse="false"设置好,发现hibernate最好也只能把二级分类的外键(一级分类的主键)置为null,开始我因为是先建原创 2016-03-23 21:16:18 · 3120 阅读 · 0 评论