02 2018 档案
摘要:1.概述 将通用的逻辑用AOP技术实现可以极大的简化程序的编写,例如验签、鉴权等。Spring的声明式事务也是通过AOP技术实现的。 Spring的AOP技术主要有4个核心概念: Pointcut: 切点,用于定义哪个方法会被拦截,例如 execution(* cn.springcamp.sprin
阅读全文
摘要:一对多标注和hql中外关联的区别 1. 一对多标注, 生成一个list结构, 至少执行两条sql语句,可以使用lazy模式加载list 2. hql关联查询,生成多个信息重复的实体类, 只生成一条sql语句执行,甭能lazy模式加载 另见https://blog.csdn.net/asdfsadfa
阅读全文
摘要:这个注解表示在父类上面的,用来标识父类。 基于代码复用和模型分离的思想,在项目开发中使用JPA的@MappedSuperclass注解将实体类的多个属性分别封装到不同的非实体类中。例如,数据库表中都需要id来表示编号,id是这些映射实体类的通用的属性,交给jpa统一生成主键id编号,那么使用一个父类
阅读全文
摘要:1. @Transactional 只能被应用到public方法上, 对于其它非public的方法,如果标记了@Transactional也不会报错,但方法没有事务功能. 2. 默认遇到运行期例外(throw new RuntimeException("注释");)会回滚,即遇到不受检查(unche
阅读全文
摘要:Spring Boot 使用事务非常简单,首先使用注解 @EnableTransactionManagement 开启事务支持后,然后在访问数据库的Service方法上添加注解 @Transactional 便可。 关于事务管理器,不管是JPA还是JDBC等都实现自接口 PlatformTransa
阅读全文
摘要:实际上,这不仅是Java特有的问题。 几乎所有的编程语言都可以看到这个问题。 在计算机内存中,使用IEEE 754标准格式存储float和double数据。 实际的存储和转换如何工作,超出了本文讨论的范围。 现在,只要理解在计算和转换过程中可以在这些数字中引入较小的舍入误差。 这就是为什么仅仅依靠等
阅读全文
摘要:1. 在搜索结果中,除了对socre排序外,还有按指定字段排序时, 该排序字段应设置为docvalue为true, 尽量减少对score外的字段排序 2. 一次性获取100条数据处理后再分页的策略, 对solr压力很大 3. 是否慎用 *:* ????
阅读全文
摘要:命令: cat ./solr.log | grep hits | awk -F 'hits=' '{print $NF}' | awk '{ sum += $1; } END { print "sum = " sum; print "average = " sum/NR }' 运行结果 sum =
阅读全文
摘要:默认情况下注册到eureka server的服务是通过心跳来告知自己是UP还是DOWN,并不是通过spring-boot-actuator模块的/health端点来实现的,这样其实不是很合理。 默认的心跳实现方式可以有效的检查eureka客户端进程是否正常运作,但是无法保证客户端应用能够正常提供服务
阅读全文
摘要:默认情况下,Spring Boot的日志是输出到控制台的,不写入任何日志文件。 要让Spring Boot输出日志文件,最简单的方式是在application.properties配置文件中配置logging.path键值,如下:(日志文件为spring.log) ? 1 2 <code>loggi
阅读全文
摘要:-p参数指定内网ip, 则在外网测试时不能访问 如果指定外网ip, 是否会造成网络延迟??? 在solr集群中, zookeeper是对外的, 前端搜索服务在从zk获取到solr节点后是前端直接访问solr指定的节点获取信息, 所以solr在-p中指定内网ip, 外网测试时访问不到的
阅读全文
摘要:solrQuery.set("fl", "*,score"); solrj实际就是个http请求, solrQuery.set即使用key-value拼装的get请求形式
阅读全文