
ssh and ssm
大碍桃花开
记录工作 记录成长 记录生活
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JPA(Hibernate)使用LocalDate LocalDateTime出现保存时间结果不一致异常解决
做单元测试的时候发现新增数据的时间不对,由于使用的jpa保存的数据,实体类的时间为LocalDateTime, 数据库字段为DateTime实体的时间为:15:50,可是存到数据库后就变成了1:50,很是诧异接下来就想办法怎么解决吧。。。。一共想到俩种方式,要么是mysql的时区有问题,要么jpa有问题一 jpa的问题由于低版本JPA(2.3之前)中还未使用jdk1.8的新特性,会把...原创 2020-03-04 20:44:01 · 5747 阅读 · 0 评论 -
SpringMVC 性能优化(不使用@pathvariable注解)
背景达达后台系统目前每天都要支撑数十亿的访问量,这对于服务系统整体架构是个严峻的考验。考虑到越来越复杂的业务以及不断增加的访问压力,我们对数据层进行了一系列的改造(参见达达-高性能服务端优化之路),也对业务层进行了服务化(参见基于Zookeeper的服务注册与发现)。同时,参照DDD设计,我们引入了一个数据访问层,即ModelService。ModelService的职责:封装...转载 2019-11-16 21:17:10 · 2526 阅读 · 2 评论 -
Springmvc是如何根据url路径找到对应的controller方法的
使用restful风格时,我们往往会在一个controller方法使用同一个路径,然后定义不同的httpmethod,那么问题来了,springmvc是怎么做到的呢?首先,看下我们的Controller层代码@SpringBootApplication@EnableEurekaServer@RestControllerpublic class EurekaServerApplicatio...原创 2019-11-13 00:26:20 · 11062 阅读 · 0 评论 -
Spring MVC参数解析之ParameterNameDiscoverer
大家知道,Spring MVC 有一项非常实用的功能,叫参数绑定。其具体能实现的功能异常强大,这里不再赘述,网上有非常多的资料可供参考,仅举一例用以描述问题。@RestControllerpublic class FooController { @GetMapping("/methodOne") public Boolean methodOne(Integer filedOne...转载 2019-11-12 22:36:27 · 1121 阅读 · 0 评论 -
jasypt 集成spring、spring boot 对配置文件中的配置和属性进行加密
简介1、应用场景针对properties和xml配置文件的敏感内容进行加密处理(比如数据库连接密码,通讯秘钥)2、jasypt是一个java实现的安全框架spring 配置1、使用spring mvc集成,可继承PropertyPlaceholderConfigurer子类public class MyPropertyPlaceholderConfigurer extends Pro...转载 2019-10-14 22:33:47 · 439 阅读 · 0 评论 -
spring.factories详解
在Spring Boot中有一种非常解耦的扩展机制:Spring Factories。这种扩展机制实际上是仿照Java中的SPI扩展机制来实现的。Java SPI机制SPI的全名为Service Provider Interface.大多数开发人员可能不熟悉,因为这个是针对厂商或者插件的。在java.util.ServiceLoader的文档里有比较详细的介绍。简单的总结下java s...转载 2019-10-14 22:31:52 · 6819 阅读 · 0 评论 -
Spring解析,加载及实例化Bean的顺序(零配置)
在使用Spring时,Bean之间会有些依赖,比如一个Bean A实例化时需要用到Bean B,那么B应该在A之前实例化好。很多时候Spring智能地为我们做好了这些工作,但某些情况下可能不是,比如Springboot的@AutoConfigureAfter注解,手动的指定Bean的实例化顺序。了解Spring内Bean的解析,加载和实例化顺序机制有助于我们更好的使用Spring/Springbo...转载 2019-10-13 16:33:43 · 598 阅读 · 0 评论 -
Struts2面试题
1、描述Struts2的工作原理答:客户端发送请求–》请求经过一系列过滤器–》FilterDispatcher通过ActionMapper来决定这个Request需要调用哪个Action --》FilterDispatcher把请求的处理交给ActionProxy–》通过ConfigurationManager询问Struts配置文件(Struts.xml),找到需要调用的Action类–》Ac...转载 2019-02-21 21:27:46 · 596 阅读 · 0 评论 -
Hibernate 面试题
1、什么是Hibernate的并发机制?怎么去处理并发问题?Hibernate并发机制:a、Hibernate的Session对象是非线程安全的,对于单个请求,单个会话,单个的工作单元(即单个事务,单个线程),它通常只使用一次, 然后就丢弃。 如果一个Session 实例允许共享的话,那些支持并发运行的,例如Http request,session beans将会导致出现资源争用。 ...转载 2019-02-21 21:32:38 · 210 阅读 · 0 评论 -
JVM面试题
11.JVM内存分哪几个区,每个区的作用是什么?java虚拟机主要分为以下一个区:方法区:1. 有时候也成为永久代,在该区内很少发生垃圾回收,但是并不代表不发生GC,在这里进行的GC主要是对方法区里的常量池和对类型的卸载2. 方法区主要用来存储已被虚拟机加载的类的信息、常量、静态变量和即时编译器编译后的代码等数据。3. 该区域是被线程共享的。4. 方法区里有一个运行时常量池,用于存放静态编译产生的...转载 2019-02-23 20:47:59 · 182 阅读 · 0 评论 -
ResultTransformer deprecated 替代方案及HQL无法使用子查询解决
hibernate 由于从5.2升级成5.4 再用了ResultTransformer封装临时对象时sonar 报错,显示ResultTransformer 过时官方在5.2版本中将此方法标记为过时,但没有提供替代方案,需要升级到6.0时才提供提到方法虽然ResultTransformer方法过时,但接口并没有,我们可以通过内部类的方式实现自定义封装。List<PersonAndCo...原创 2019-03-07 19:53:03 · 2344 阅读 · 0 评论 -
hibernate HQL 使用from (select ……)子查询的方法
今天徒弟用到了一句复杂的查询语句。。。。结果执行报错,但是在SQL中执行没有问题,于是来求助我了。。。语句的HQL/SQL格式如下:select count(1) ,cxltype,sum(dzsje),sum(iperson)from (select xl.cxltype,g.iperson,(s...转载 2019-03-07 19:54:58 · 5195 阅读 · 0 评论 -
《Spring源码深度解析》学习笔记——Spring的整体架构与容器的基本实现
转载:https://blog.youkuaiyun.com/benhuo931115/article/details/74611464 Spring的整...转载 2019-06-28 23:38:18 · 242 阅读 · 0 评论 -
spring管理bean的三种创建方式
Spring支持如下三种方式创建Bean1:调用构造器创建Bean2:调用静态工厂方法创建Bean3:调用实例工厂方法创建Bean一:调用构造方法创建Bean 调用构造方法创建Bean是最常用的一种情况Spring容器通过new关键字调用构造器来创建Bean实例,通过class属性指定Bean实例的实现类,也就是说,如果使用构造器创建Bean方法,则<be...转载 2019-07-15 22:47:02 · 186 阅读 · 0 评论 -
jpa数据库表实体命名规则 jpa查询报Unknow column `table`.`column` in 'field list'解决办法
数据库,表字段命名是驼峰命名法(createTime),Spring data jpa 在操作表的时候,生成的sql语句中却是create_time, 表字段不对照,Spring data jpa基于hibernate-core-5.2.16.final.jar这是由于jpa中hibernate的字段全名策略引起的,默认是SpringPhysicalNamingStrategy,在hibern...转载 2019-07-16 22:00:29 · 673 阅读 · 0 评论 -
spring、springboot、springcloud 配置文件常用配置
SpringBoot项目详细的配置文件修改文档:https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html#common-application-properties原创 2019-09-03 22:59:25 · 360 阅读 · 0 评论 -
SpringMVC常见面试题总结
SpringMVC常见面试题总结(超详细回答)Spring MVC是一个基于MVC架构的用来简化web应用程序开发的应用开发框架,它是Spring的一个模块,无需中间整合层来整合 ,它和Struts2一样都属于表现层的框架。在web模型中,MVC是一种很流行的框架,通过把Model,View,Controller分离,把较为复杂的web应用分成逻...转载 2019-02-21 21:25:40 · 171 阅读 · 0 评论 -
Spring常见面试题及答案
Spring 概述什么是spring?Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring 框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。使用Spring框架的好处是什么?轻量:Spring 是轻量的,基本的版本大约2MB。控制反转:Spri...转载 2019-02-21 21:22:27 · 277 阅读 · 0 评论 -
ModelDriven介绍
今天遇到一个关于前后端数据交互的问题:前端传了一个clientIdaction 中接受到的clientId 为空debug 发现request对象中clientId 值存在那么, 在进入action 之前是filter 还是Struts或者spring security 拦截到这个请求将clinetId 置空了呢?最终发现是有人将PO 里面的一个companyId 改成了clientI...原创 2018-11-21 22:19:28 · 212 阅读 · 0 评论 -
struts2源码分析(转)
参考: https://www.cnblogs.com/hayasi/category/869760.html转载 2018-11-21 22:21:20 · 252 阅读 · 0 评论 -
mybatis源码分析(转)
参考:https://www.cnblogs.com/hayasi/category/920416.html转载 2018-11-21 22:22:36 · 96 阅读 · 0 评论 -
ssh框架使用springBoot升级迁移替换Struts2
如果一个十来年的ssh项目想使用springboot的便捷性,但又不想从零开始,那么就让我们开始迁移吧。在pom文件添加springboot 依赖创建application 启动类迁移web.xmlweb.xml文件中定义了filter, struts2等等一堆filter, 这时我们需要做的一件事是在springboot中使我们的filter, struts2 能正常work。 这样就...原创 2018-11-22 22:32:34 · 8506 阅读 · 2 评论 -
pagehelper连接sqlserver 分页时异常解决
在使用mybatis 分页插件时遇到一个错误:配置:pom依赖:异常信息:org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘com.github.pagehelper.autoconfigure.PageHelperAutoConfiguration’: Inv...原创 2018-11-24 19:44:26 · 12676 阅读 · 0 评论 -
SpringBoot整合mybatis(注解加配置文件附源码)(springBoot+mybatis+durid+sqlserver2012+Thymeleaf+pageHelper+logback)
在 https://start.spring.io/ 初始化项目结构选择需要整合的依赖,生成project.将下载的项目解压, 使用idea 导入,分层, 项目结构如图:添加durid,pageHelper依赖, pom.xml如下:&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;project xmlns=&原创 2018-11-26 00:02:31 · 2996 阅读 · 0 评论 -
Mybatis-PageHelper 官方使用文档
使用方法引入分页插件引入分页插件有下面2种方式,推荐使用 Maven 方式。1). 引入 Jar 包你可以从下面的地址中下载最新版本的 jar 包https://oss.sonatype.org/content/repositories/releases/com/github/pagehelper/pagehelper/http://repo1.maven.org/maven2/c...转载 2018-11-25 13:52:45 · 5647 阅读 · 0 评论 -
Mybatis Generator配置详解
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config...原创 2018-11-30 21:19:42 · 164 阅读 · 0 评论 -
Mybatis 动态sql详解
MyBatis 的强大特性之一便是它的动态 SQL。如果你有使用 JDBC 或其它类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句的痛苦。例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL 这一特性可以彻底摆脱这种痛苦。虽然在以前使用动态 SQL 并非一件易事,但正是 MyBatis 提供了可以被用在任意 SQL 映射语句中的强大的动态 SQL...原创 2018-12-01 19:57:00 · 144 阅读 · 0 评论 -
Mybatis 中$与#的区别
1 #是将传入的值当做字符串的形式,eg:select id,name,age from student where id =#{id},当前端把id值1,传入到后台的时候,就相当于 select id,name,age from student where id =‘1’.2 是将传入的数据直接显示生成sql语句,eg:selectid,name,agefromstudentwhereid=是...原创 2018-12-01 20:10:10 · 166 阅读 · 0 评论 -
多次为 'PAGE_TABLE_ALIAS' 指定了列 'XXX' 错误解决
在使用mybatis 级联一对多查询时遇到一个错误:uncategorized SQLException; SQL state [S0001]; error code [8156]; 多次为 'PAGE_TABLE_ALIAS' 指定了列 'COID'。; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: 多...原创 2018-12-01 22:33:59 · 6552 阅读 · 0 评论 -
hibernate的sql查询封装实体的两种方式及 Null value was assigned to a property of解决
sql查询封装实体的两种方式:使用 .addScalar(FIELD_ID, StandardBasicTypes.STRING)第一个参数为sql 中查询的字段, 第二个为数据类型, 字段名必须与sql 字段完全匹配, 可以对sql 字段取别名保证字段名完全一样最后使用 sqlQuery.setResultTransformer(Transformers.aliasToBean(Dem...原创 2018-12-28 19:48:52 · 599 阅读 · 0 评论 -
springAop看这篇就够了-- Spring AOP是什么?你都拿它做什么?
为什么会有面向切面编程(AOP)?我们知道Java是一个面向对象(OOP)的语言,但它有一些弊端,比如当我们需要为多个不具有继承关系的对象引入一个公共行为,例如日志、权限验证、事务等功能时,只能在在每个对象里引用公共行为。这样做不便于维护,而且有大量重复代码。AOP的出现弥补了OOP的这点不足。为了阐述清楚Spring AOP,我们从将以下方面进行讨论:代理模式静态代理原理及实践动态代理原...转载 2019-01-13 12:15:43 · 1003 阅读 · 0 评论 -
agehelper 不分页几种情况的解决方法
近期做一个项目,用到了该插件,遇到了些问题,在这里分享一下解决方法问题一:pagehelper没有效果,一直不能分页问题解决方法-引用其他博主的博客的解决:http://blog.youkuaiyun.com/linxingliang/article/details/52566881问题二:pagehelper有的时候有效果,有时候没有效果我在项目中就遇到了这个问题,找了好长时间,解决方法为:...转载 2019-01-27 14:22:18 · 278 阅读 · 0 评论 -
SpringMvc自定义参数处理
近日在做项目的时候,需要解析客户端传来的经过AES加密处理的实体信息,同时也需要向客户端返回经过AES加密的实体信息,在项目初期,都是在Controller方法中去调用某个工具类进行decode、encode操作比较繁琐,于是去寻求解决办法,在翻阅了SpringMvc解析参数的源码后,仿照@RequestBody的进行以下实现。本文基于SpringBoot 2.0即SpringMvc 5.0...转载 2019-01-27 15:04:40 · 372 阅读 · 0 评论 -
struts2Xml配置属性大全
基础Constantsstruts.devMode 可选值true,false(默认false),在开发模式下,struts2的动态重新加载配置和资源文件的功能会默认生效。同时开发模式下也会提供更完善的日志支持。struts.i18n.reload可选值true,false(默认值依赖于struts.devMode),是否自动重新加载本地的资源文件。struts.i18n.e...原创 2018-11-21 21:50:54 · 590 阅读 · 0 评论