随笔分类 - java
摘要:1.接口 Class<?> resourceClass 2.获取builder 3.获取接口对应的动态代理class 4.targetProxyClass构造参数类型 InvocationHandler,通过builder设置 builder.addConstructorArgValue(Proxy
阅读全文
摘要:详细错误信息 解决思路 需要指定 @RequestParam 的name属性值 源码分析 AbstractNamedValueMethodArgumentResolver.java
阅读全文
摘要:现象 SOAService这个bean先后经过两个BeanPostProcessor,会发现代理之后注解就丢失了。 开启了cglib代理 为什么开启这个代理模式呢 http://www.cnblogs.com/hujunzheng/p/8428422.html 如何解决这个问题 在自定义注解上添加@
阅读全文
摘要:现象 直接Autowired一个实现类,而不是接口 解决方案 1. Autowired接口 2. 使用EnableAspectJAutoProxy 设置proxy-target-class为true即使用cglib的方式代理对象,默认是jdk方式代理。 jdk的动态代理不支持类注入,只支持接口方式注
阅读全文
摘要:两个工具类 JsonUtil JacksonHelper
阅读全文
摘要:first create a mapper : As Array: As List: Another way to specify the List type:
阅读全文
摘要:用法 sql语句 java代码 示例代码 jooq 可以执行sql语句 配置篇 maven配置 gradle配置 application.yml spring: jooq: #请勿动,当使用了ejdbc的配置后,Spring Boot无法识别正确的Dialect sqlDialect: Mysql
阅读全文
摘要:public static void testIfPresent() { Map<String, Map<String, String>> map = new HashMap<>(); String firstKey = "hjz", secondKey = "lxk"; Map<String, S
阅读全文
摘要:一、场景 项目A监听mq中的其他项目的部署消息(包括push_seq, status, environment,timestamp等),然后将部署消息同步到数据库中(项目X在对应环境[environment]上部署的push_seq[项目X的版本])。那么问题来了,mq中加入包含了两个部署消息 dm
阅读全文
摘要:Thymeleaf 中有 plain context (不支持对url参数的解析)和 web context(支持对url参数的解析) 最后附上一份简单的邮件模板文件
阅读全文
摘要:compile 'org.glassfish.jersey.core:jersey-client:2.9.1' @Path("/{appId}/{env}/downloadSDK") @GET @Produces(MediaType.APPLICATION_OCTET_STREAM) Response downloadSDK(@PathParam("appId") String ap...
阅读全文
摘要:public enum TestEnum { provider { @Override public void provide() { this.name = "hjzgg"; } }; public String name; public abstract void provide(...
阅读全文
摘要:Java 8 如何正确使用 Optional import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; import org.apache.commons.lang3.StringUtils; import java.util.Optional; @Data @EqualsAndHashCode...
阅读全文
摘要:参考mybatis MapperScannerConfigurer.java 最终找到 Spring的一个类 ClassPathBeanDefinitionScanner.java 参考ClassPathBeanDefinitionScanner 和它的父类 ClassPathScanningCan
阅读全文
摘要:如果没有依赖spring,可以将分割线下的方法去掉 测试方法 可以获取到多个,包括我们自己定义的Resources.class 不可以获取到 原因看一下 方法的源代码就发现了哦! findPathMatchingResources方法中调用getResources 最后执行的 代码中标红色的部分,通
阅读全文
摘要:public static Map<String, String> maptoMapString(Map<String, ?> map) { return map.entrySet().stream().collect(Collectors.toMap( (entry) -> { return en
阅读全文
摘要:输出结果 参考:java8 reduce方法中的第三个参数combiner有什么作用?
阅读全文
摘要:一、swagger2依赖 二、springmvc配置文件加入 三、web.xml配置 四、swagger2配置 可创建多个Docket,对restful api进行分组管理 五、效果演示 六、注意事项 1、如果有拦截器或者过滤器 对项目根路径进行拦截,可能<welcome-file>的配置不生效!
阅读全文
摘要:前言 如果oauth原理还不清楚的地方,其参考这里。 一、基本思路脑图 二、客户端shiro配置 shiro配置文件 注重看一下Realm的参数配置和 shiroFilter loginUrl的配置 自定义Realm实现 注重看一下realm中如何获取 用户信息的 自定义Filter实现 注重看一下
阅读全文