SpringBoot
文章平均质量分 63
Jae_Wang
~
展开
-
SpringBoot之日志框架
前言:实现日志输出的、可以描述系统运行状态的所有时间。用于定制输出格式,携带上下文,运行时选择性输出。常见的日志框架:JUL(JDK),JCL(Apache),Log4j,log4j2,logback,slog4j,jboss-logging、日志级别:error、warn、info、debug、trance。默认是打印级别info以上的,info,warn,error。 级别越大,越严重。配置...原创 2018-05-25 13:32:22 · 259 阅读 · 0 评论 -
延迟加载
1.关于lazy机制: 延迟初始化错误是运用Hibernate开发项目时最常见的错误。如果对一个类或者集合配置了延迟检索策略,那么必须当代理类实例或代理集合处于持久化状态(即处于Session范围内)时,才能初始化它。如果在游离状态时才初始化它,就会产生延迟初始化错误。 下面把Customer.hbm.xml文件的<class>元素的lazy属性设为true,表示使用延迟检索策略: &...转载 2018-06-04 20:33:13 · 254 阅读 · 0 评论 -
Restful风格到底是什么?
rest越来越流行,感觉挺高大尚的。网上看了很多网友的说法,各有各的看法,我觉得很多说得很有道理。 说法一 restful风格,就是一种面向资源服务的API设计方式,它不是规范,不是标准,它一种设计模式。以前流行的web service服务都是面向过程,基于RPC协议的SOAP协议,对于现在或者未来,更多的人了解并且深受SOA思想影响,以面向服务为目标,而现在的SOAP虽然支持SOA,但存在很很大...转载 2018-06-04 20:48:34 · 24987 阅读 · 1 评论 -
SpringDateJpa — findOne()方法报错问题以及getOne()
遇到的问题:首先我说一下我遇到问题的由来我先是用的SpringDataJPA的1.11版本,可以使用findOne()方法根据id查询,然后我使用了2.0.5版本,发现findOne()方法报错了,不能用来当作根据id查询了,getOne 当查询一个不存在的id数据时,会直接抛出异常,因为其返回的是一个引用,简单就是说一个代理对象。无论如何都想要有一个返回,则使用findOne,而不用getOne...转载 2018-06-01 00:04:15 · 4018 阅读 · 0 评论 -
SpringDateJpa — 抛出异常generate could not read a hi value java.sql.SQLException
先看遇到的问题:遇到这个BUG当时还以为是实体对应的表没有找到~直接用注释@table指定表发现还是不行~用列也已经指定了~也是不行查到一句话:这时想到主键生成策略有一个序列生成的~采用sequence机制生成主键,Mysql是不支持这种的,Mysql一般是使用identity的。...原创 2018-06-01 09:09:47 · 2271 阅读 · 1 评论 -
SpringBootJpa — @Id 和 @GeneratedValue 注解详解
@Id 标注用于声明一个实体类的属性映射为数据库的主键列。该属性通常置于属性声明语句之前,可与声明语句同行,也可写在单独行上。 @Id标注也可置于属性的getter方法之前。@GeneratedValue: @GeneratedValue 用于标注主键的生成策略,通过strategy 属性指定。默认情况下,JPA 自动选择一个最适合底层数据库的主键生成策略:SqlServer对应iden...转载 2018-06-01 09:14:01 · 14747 阅读 · 0 评论 -
Spring Data JPA —— 分页PageRequest、PageImpl
项目中通过openid来查买家订单主表,那么多的话就的考虑分页显示了public interface OrderMasterRepository extends JpaRepository<OrderMaster, String> { // 根据openid来查询一条条的OrdeMaster以分页显示出来 Page<OrderMaster> findByB...原创 2018-06-09 10:42:46 · 35504 阅读 · 5 评论 -
decimal与BigDecimal用法
MySQL中 : 精度类型用DECIMAL来保留准确的精度类型,对于常用的货币数据,钱~column_name DECIMAL(P, D);P为有效数字的精度,D为小数点后的位数~ D不写默认是0,P不写默认是10,那么就成这样了~ column_name DECIMAL;Java中:那么在数据库中存完了,接着就是取数据了~开发中我们如果直接拿过来用的话那绝对就会出错了System....原创 2018-06-09 13:38:57 · 13351 阅读 · 0 评论 -
FreeMarker学习笔记
Spring Boot推荐使用Thymeleaf来做页面模板引擎,所以又去瞅了瞅Thymeleaf,突然发现不是用过FreeMarker吗,虽然效率没有Thymeleaf高,但是还是觉得把之前学的FreeMarker相关知识记录下来,mark一下。OK,废话一堆,开始吧。一,介绍以下内容来自...转载 2018-06-10 21:00:24 · 219 阅读 · 0 评论 -
解决LazyInitializationException: could not initialize proxy - no Session
出错org.hibernate.LazyInitializationException: could not initialize proxy - no Session在使用BeanUtils来复制bean对象时、出现了复制不了的情况~当时还以为是BeanUtils中Bean对象使用了基本类型,但并非如此、于是我又重写手动写了一遍getter,setter方法来复制bean对象、结果又出现了另一种...原创 2018-06-04 19:48:54 · 5530 阅读 · 0 评论 -
关于OpenSessionInView 的作用、配置及原理
hibernate 允许对关联对象、属性进行延迟加载,但是必须保证延迟加载的操作限于同一个 Hibernate Session 范围之内进行。如果 Service 层返回一个启用了延迟加载功能的领域对象给 Web 层,当 Web 层访问到那些需要延迟加载的数据时,由于加载领域对象的 Hibernate Session 已经关闭,这些导致延迟加载数据的访问异常。把一个Hibernate Sessio...转载 2018-06-04 19:40:18 · 491 阅读 · 0 评论 -
SpringBoot之基础入门
前言:主要是体现一个极简的编程风格,大部分都可以通过注解来完成~通过来做一个简单的resuful api增删改查功能~1. 使用Spring创建Spring Boot项目在网站上https://start.spring.io或者通过IDEA自带的、版本选择1.5几的、一般的在在serch for dependency选择web。2.工程结构 main是写代码的,test是用于单元测试的,对于...原创 2018-05-22 23:59:19 · 217 阅读 · 1 评论 -
SpringBoot之统一异常处理
前言: 平时做项目时,在Controller层只会返回一个JSON串来表示信息是否成功~还真的没有考虑到异常是怎么处理的,不过肯定是统一管理异常。一、全局错误页面: Spring Boot提供了一个默认的映射:/error(当然该页面并不友好),当处理中抛出异常之后,会转到该请求中处理,并且该请求有一个全局的错误页面用来展示异常内容。创建全局异常处理类:通过使用@Controlle...原创 2018-05-23 16:15:53 · 178 阅读 · 0 评论 -
SpringBoot之配置文件YML
YML读取注意事项使用YML时遇到的坑: 最近在做项目时,遇到了一些在读取YML配置时发生的问题,在这里写一并写下来,希望给自己以及大家一个提示,能尽量避免在读取配置文件时发生这些错误,给开发带来不必要的多余时间去处理。多重层级读取在YML中我们再添加一个ZZP2的配置信息,其中包含了girl节点以及girl下的name,age属性。zzp2:...转载 2018-05-23 19:15:13 · 383 阅读 · 0 评论 -
Could not copy property 'id' from source to target异常
BeanUtils是web开发中经常用的一个工具类,当一个对象有十几个字段的话,通过这个可以快速实现~异常信息:Could not copy property 'id' from source to target; nested exception is java.lang.IllegalArgumentException出现问题:在使用BeanUtils.copyProperties()方法时,...原创 2018-06-04 16:12:07 · 2852 阅读 · 0 评论 -
对象拷贝类PropertyUtils,BeanUtils,BeanCopier的技术沉淀
功能简介 对象拷贝的应用现状简介:业务系统中经常需要两个对象进行属性的拷贝,不能否认逐个的对象拷贝是最快速最安全的做法,但是当数据对象的属性字段数量超过程序员的容忍的程度,代码因此变得臃肿不堪,使用一些方便的对象拷贝工具类将是很好的选择。目前流行的较为公用认可的工具类:Apache的两个版本:(反射机制)org.apache.commons.beanutils.PropertyUtils.copy...转载 2018-06-04 16:32:04 · 523 阅读 · 0 评论 -
spring-data-jpa如何在特定的时候获取lazy加载的数据
比如有两个实体A, B是多对多关系,并且相互指定默认使用lazy加载@Entitypublic class EntityA implements Serializable { ... @ManyToMany(fetch = FetchType.LAZY) private List<EntityB> entityBList = new ArrayList<...原创 2018-06-04 18:55:02 · 6895 阅读 · 0 评论 -
vo、bo、po、dto
VO(value object) 值对象 通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要.个人觉得同DTO(数据传输对象),在web上传递。BO(business object) 业务对象 从业务模型的角度看,见UML元件领域模型中的领域对象。封装业务逻辑的java对象,通过调用DAO方法,结合PO,VO进行业务操作。...原创 2018-06-04 19:06:30 · 358 阅读 · 0 评论 -
异常: Canonical names should be kebab-case(“-” separated), lowercase......... blablabla
放假完第一天,启动项目发现半天起不来,之前写的dao层和service层都是通过单元测试,并没有完全启动。看提示:在微信微信扫描阶段,自己首先配置了一下,提示说这个U的问题,一开始把项目名该成小写,发现还是不行。仔细一看,大意是配置文件属性中的U是无效的,应该符合 kebab的形式,即用分隔符开分隔开就行了。写成这种就成功了。之后查了一下SpringBoot的官方文档:...原创 2018-06-19 09:54:29 · 13486 阅读 · 2 评论