11 2017 档案
摘要:1. 如何同步索引库 方案一: 在taotao-manager中,添加商品的业务逻辑中,添加一个同步索引库的业务逻辑; 缺点:业务逻辑耦合度高,业务拆分不明确; 方案二: 业务逻辑在taotato-search中实现,调用服务在taotao-manager实现,业务逻辑分开 缺点:服务之间的耦合度变
阅读全文
摘要:1. Resizable 属性 原理: 页面加载完毕后,EasyUI主文件会扫描页面上的每个标签,判断这些标签的class值是否以"easyui "开头, 如果是,则拿到之后的部分"resizable",EasyUI主文件会将当前的标签处理(渲染)为"resizable"这种效果; EasyUI 组
阅读全文
摘要:1. 如何实现远程通信 1. Webservice: 效率不高,基于SOAP协议,不推荐使用; 2. 使用 RESTful 形式的服务: HTTP+JSON;如果服务太多,服务之间调用关系混乱,需要管理服务; 3. 使用 Dubbo: 使用RPC协议进行远程调用,直接使用 socket 通信; 传输
阅读全文
摘要:1. 功能列表 后台管理系统: 管理商品,订单,类目,商品规格属性,用户管理以及内容发布等功能; 前台系统: 用户可以在前台系统中进行注册,登录,浏览商品,首页,下单等操作; 会员系统: 用户可以在该系统中查询已下的订单,收藏的商品,我的优惠券,团购等信息; 订单系统: 提供下单,查询订单,修改订单
阅读全文
摘要:1. Quartz 入门案例 1.1 Quartz 相关jar包 1.2 创建任务类 1.3 在spring配置文件中配置任务类 1.4 在spring配置文件中配置 JobDetail 1.5 在spring 配置文件中配置触发器 1.6 在spring配置文件中,配置scheduler 1.7
阅读全文
摘要:权限概述 认证: 系统提供的用于识别用户身份的功能, 通常登录功能就是认证功能; 让系统知道你是谁 授权: 系统授予用户可以访问哪些功能的证书. 让系统知道你能做什么! 常见的权限控制方式 URL 拦截权限控制 底层基于拦截器或过滤器实现 方法注解权限控制 我们框架会将加入注解的Action创建代理
阅读全文
摘要:```
log4j.rootLogger = WARN, c1
###向控制台输出, c1 指的是上面的变量, 表示输出方式###
log4j.appender.c1 = org.apache.log4j.ConsoleAppender
log4j.appender.c1.layout = org.apache.log4j.PatternLayout
log4j.appender.c1.layou...
阅读全文
摘要:1. Solr 与 Lucene 的区别 Lucene是一个开发源代码的全文检索引擎工具包,它不是一个完整的全文检索引擎,Lucene 提供了完整的查询引擎 和索引引擎,目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者以 Lucene 为基础构建全文检索引擎
阅读全文
摘要:1. 数据分类 结构化数据: 指具有固定格式或有限长度的数据,如数据库等; 非结构化数据: 指不定长或无固定格式的数据, 如邮件,word 文档等磁盘上的文件; 1.1 非结构化数据查询方法 1. 顺序扫描法(Serial Scanning) 2. 全文检索(Full text Search) 将非
阅读全文
摘要:1. JUC 简介 在 Java 5.0 提供了 (简称JUC)包,在此包中增加了在并发编程中很常用的工具类, 用于定义类似于线程的自定义子系统,包括线程池,异步 IO 和轻量级任务框架;还提供了设计用于多线程上下文中 的 Collection 实现等; 2. volatile 关键字 volati
阅读全文
摘要:1. 日期和时间概述 1. ,`LocalTime LocalDateTime`类的实例是不可变的对象,分别表示使用 ISO 8601 日历系统 的日期,时间,日期和时间;它们提供了简单的日期和时间,并不包含当前的时间信息;也不包含与时区相关的信息; 2. : 时间戳(指定时间与 1970年1月1日
阅读全文
摘要:1. Stream 概述 Stream 是Java8中处理集合的关键抽象概念,可以对集合执行非常复杂的查找,过滤和映射数据等操作; 使用 Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数据库查询; 可以使用 Stream API 来并行执行操作; Stream API 提供了
阅读全文
摘要:1. Lambda 表达式概述 Lambda 是一个匿名函数,我们可以把 Lambda 表达式理解为是一段可以传递的代码(将代码像数据一样进行传递); Lambda 表达式可以写出更简洁,更灵活的代码; 2. Lambda 表达式基础语法 1. : 该操作符称为箭头操作符或Lambda 操作符,将L
阅读全文
摘要:1. NIO 简介 Java NIO(New IO)是从1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API; NIO 与原来的IO有同样的作用和目的,但是使用的方式完全不同,NIO支持面向缓冲区的,基于通道的IO操作; Java NIO系统的核心在于:通道(Channel
阅读全文
摘要:1. Redis 概述 Redis:远程字典服务器(REmote DIctionary Server); Redis 是一个高性能(key/value)分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库; Redis 三个特点: Redis 支持数据的持久化,可以将内存中的数据保存在磁盘中
阅读全文
摘要:1. Redis 安装步骤 1. 到github下载redis,我下载的是 下载地址: "GitHub" 2. 将下载下来的 拷贝到 目录下 首先,进入 所在的目录下, 然后,执行拷贝命令: 3. 在 文件夹下,解压该压缩文件 4. 进入解压缩后的目录 5. 进行编译测试 在编译测试时,有可能遇到
阅读全文
摘要:1. 概述 1. NoSQL(Not Only SQL),"不仅仅是SQL", 泛指非关系型的数据库; 2. 特点: 易扩展; 在大数据量下,NoSQL 数据库具有非常高的读写性能; 多样灵活的数据模型; 3. RDBMS(关系型数据库)和NoSQL 比较 RDBMS 高度组织化结构化数据; 结构化
阅读全文
摘要:1. MyBatis 框架分层架构 2. MyBatis 工作流程 1. 获取 SqlSessionFactory 对象: 解析配置文件(全局映射,Sql映射文件)的每一个信息,并保存在Configuration中,返回包含Configuration 的DefaultSqlSession; : 代表
阅读全文
摘要:1. MyBatis Generator 简称MBG,是一个专门为MyBatis框架使用者定制的代码生成器,可以快速的根据表生成对应的映射文件,接口,以及bean类; 支持基本的增删改查,以及QBC风格的条件查询; 但是表连接,存储过程等这些复杂sql的定义需要我们手工编写; 所需jar包: ; 2
阅读全文
摘要:1. 导入jar包 SpringMVC 所需jar包; MyBatis 所需jar包 和数据库驱动jar包; MyBatis 与 Spring 整合需要适配包: 2. 配置文件 2.1 MyBatis 配置文件 MyBatis 全局配置文件: ; 数据库配置文件: ; 对应接口的映射文件: ; 2.
阅读全文
摘要:1. 概述 1.1 缓存可以极大的提升查询效率,MyBatis 系统中默认定义了两级缓存:一级缓存和二级缓存 默认情况下,只有一级缓存(SqlSession 级别的缓存,也称为本地缓存)开启; 二级缓存(基于namespace 级别的缓存, 也称为全局缓存)需要手动开启和配置; 为了提高扩展性,My
阅读全文
摘要:1. 概述 动态 SQL 极大的简化了我们拼装SQL的操作; MyBatis 采用功能强大的基于 OGNL 的表达式来简化操作: if choose(when,otherwise) trim(where(封装查询条件), set(封装修改条件)) foreach 1.1 `` 查询 1.2 `` 查
阅读全文
摘要:1. MyBatis 映射文件之``标签 1. ``用来定义查询操作; "id": 唯一标识符,需要和接口中的方法名一致; : 参数类型,可以不传,MyBatis 会根据 TypeHandler 自动推断; : 返回值类型;使用别名或全类名,如果返回的是集合,定义集合中元素的类型; 不能和 resu
阅读全文
摘要:1. MyBatis 概述 1. MyBatis 是一个半自动化的持久层框架; 核心SQL,开发人员可以进行优化; SQL和Java编码分开,功能边界清晰,一个专注业务,一个专注数据; 2. JDBC: SQL 语句夹在Java代码块里,耦合度高,导致硬编码内伤; 维护不易且实际开发需求中SQL是有
阅读全文
摘要:1. 运行流程 2. Spring 和 SpringMVC 整合 2.1 存在问题一: Bean 创建两次 2.2 存在问题二: 2.3 最终效果: 3. SpringMVC 配置文件中引用业务层的 Bean 多个 SpringIOC 容器之间可以设置为父子关系,以实现更好的解耦; SpringMV
阅读全文
摘要:1. 声明式异常捕捉 1. Struts2 的异常处理机制是通过 struts.xml 文件中配置 `` 元素完成的, 配置该元素时,需要指定两个属性: : 异常类型; : 指定逻辑视图名称; 2. 根据 `` 出现的位置,异常映射分为两种: 局部异常映射:将 元素的子元素配置; 全局异常映射:将
阅读全文
摘要:1. 文件上传 Spring 使用 Jakarta Commons FileUpload 技术实现了一个 MultipartResolver 实现类: ; SpringMVC 上下文中默认没有装配 MultipartResolver,因此默认情况下不能处理文件的上传; 若要使用上传功能,需要在上下文
阅读全文
摘要:1. 数据绑定流程 1. SpringMVC 主框架将 ServletRequest 对象及目标方法的入参实例传递给 WebDataBinderFactory 实例,以创建 DataBinder 实例对象; 2. DataBinder 调用装配在 SpringMVC 上下文中的 Conversion
阅读全文
摘要:1. 视图和视图解析器 1. 视图解析器 请求处理方法执行完成后,最终返回一个ModelAndView对象,对于返回String,View 或 ModelMap 等类型的处理方法, SpringMVC 也会在内部将它们装配成一个ModelAndView对象; SpringMVC借助视图解析器(Vie
阅读全文
摘要:1. 以"1"开头(临时响应) : Continue,请求者应当继续提出请求;表示服务端已经收到请求的一部分,正在等待其余部分; : Switching Protocols, 服务器交换机协议; 2. 以"2"开头(成功) : OK, 请求被确认; : Created,请求成功并且服务器创建了新的资
阅读全文
摘要:1. HelloWorld 入门程序 2. HelloWorld 深度解析 1. 客户端请求提交到 DispatcherServlet; 2. 由 DispatcherServlet 控制器查询一个或多个 HandlerMapping, 找到处理请求的 Controller; 3. Dispatch
阅读全文