后端技术学习
编程小透明
生如逆旅单行道,哪有岁月可回头。
展开
-
Quartz任务调度框架初探
Quartz任务调度框架初探什么是Quartz?Quartz 是一个完全由 Java 编写的开源作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。Quartz 可以与 J2EE 与 J2SE 应用程序相结合也可以单独使用。Quartz 允许程序开发人员根据时间的间隔来调度作业。Quartz 实现了作业和触发器的多对多的关系,还能把多个作业与不同的触...原创 2018-11-09 17:48:42 · 223 阅读 · 0 评论 -
搭建nginx服务器遇到的问题
nginx概述nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;nginx可以作为一个HTTP服务器进行网站的发布处理,另外nginx可以作为反向代理进行负载均衡的实现。详细的nginx介绍请看:https://www.cnblogs.com/zhouxinfei/p/7862285.html安装时候遇到的问题:...原创 2018-03-29 14:24:39 · 250 阅读 · 0 评论 -
关于在IDEA上进行聚合工程以及SSM框架搭建的总结
1.聚合工程和SSM框架的搭建 采用IDEA在创建聚合工程时需要注意一下几点: 1.打包方式: POM: 聚合工程父目录采用的打包方式,进行依赖和模块管理. JAR: 常规java类的打包方式,压缩多个文件,有利于JVM直接调用 WAR: web程序打包方式,运行在服务端,发布在Tomcat的webap...原创 2018-03-13 18:36:25 · 1031 阅读 · 0 评论 -
Spring Boot 2.0 读书笔记_02:AOP
写在开头,自该专栏建立起,9月初发布第一篇文章后,两个月过去了,专栏文章没啥进度。处于个人实习原因,以及同步的Vue专栏,所以关于SpringBoot 2.0 的读书笔记专栏暂时搁置了。虽然博客专栏搁置更新,但是技术的使用每天都在使用。基于Spring Boot 2.0 的新特性也即将进行更新,主要参考《Spring Boot 2精髓》以及码云上维护的配套案例Demo。 详情:https://g...原创 2018-11-16 17:13:56 · 362 阅读 · 3 评论 -
Spring Boot 2.0 读书笔记_03:MVC 上
2. MVC 上写在开头,关于MVC,Model - View - Controller模式Model(模型) - 代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。View(视图) - 代表模型包含的数据的可视化。Controller(控制器) - 作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开。这里有...原创 2018-11-27 16:12:41 · 214 阅读 · 0 评论 -
Spring Boot 2.0 读书笔记_04:MVC 下
2. MVC 下验证框架关于验证框架,之前很少用到, 在前端传递的参数中,前端框架已经存在一些验证策略。比如:类型监测、长度监测、日期正则判断等。因此在后端Controller层中的校验就很少用到。但实际情况也可能存在有些恶意代码绕过前端验证,直接向后端发送请求这样的事情发生,因此后端的验证框架的存在也是做了二次验证,防止恶意的请求产生。JSR-303JSR-303是Java标准的...原创 2018-11-28 17:01:53 · 291 阅读 · 0 评论 -
Spring Boot 2.0 读书笔记_05:Beetl
3. Beetl写在开头,Beetl是由《Spring Boot 2精髓》作者所开发并维护的后端模板引擎,主要用于渲染视图模板。关于模板引擎,博主了解过的主要是JSP 和 FreeMarker,视图渲染技术的了解并不多。这里谈一下自己对于Web开发的理解:基于现在的Web开发环境,前后端分离开发的思想,相对后端来讲,很多时候是面向接口编程,拿当下火热的前端渐进式组件框架Vue来讲,于后端的交...原创 2018-12-05 10:58:00 · 1052 阅读 · 0 评论 -
Spring Boot 2.0 读书笔记_06:Jackson
4. Jackson写在开头,在MVC框架中,Spring Boot 内置了 Jackson 来完成JSON的序列化和反序列化。@ResponseBody 在Controller对应请求方法上就好了,自动将方法返回的对象序列化成JSON。序列化、反序列化方式Jackson是一个流行的高性能JavaBean到JSON的绑定工具,Jackson使用ObjectMapper类将POJO对...原创 2018-12-07 08:58:00 · 355 阅读 · 0 评论 -
Spring Boot 2.0 读书笔记_08:数据库操作补充说明 + Mybatis、Hibernate异同点
写在开头,为了承接下篇文章JPA做好铺垫以及回顾下数据库操作的相关知识,于是有了这篇文章。谈到操作数据库,可以说我是经历了好几个阶段:提及几个阶段关键字来回忆下!1. JDBC阶段(数据库驱动,preparedStatement,close()放在try-catch块里)2. 连接池阶段(c3p0、dbcp、druid)3. Spring JDBC Template阶段4. 框架阶段(m...原创 2018-12-20 11:32:00 · 318 阅读 · 0 评论 -
Spring Boot 2.0 读书笔记_09:Spring Data JPA 上
6. Spring Data JPA 上JPA经过上篇文章从封装角度上对数据库操作的叙述,很好的为下文JPA操作做了铺垫。这个地方需要注意的是 Spring Data JPA 不是一个名词,Spring Data、JPA两个的集成哦!Spring Data JPA,在JPA提供的简单语义上做了一定程度的封装,满足基本CURD的操作需求。此外,Spring Data为Spring框架对访问S...原创 2018-12-20 18:18:05 · 292 阅读 · 0 评论 -
Spring Boot 2.0 读书笔记_10:Spring Data JPA 下
一、持久化Entity首先我们创建一个UserRepository,继承接口JpaRepository(该接口集成了所有常用接口方法),进行基础CURD的操作测试。注意:<User, Integer>,分别代表:实体类以及实体类主键属性封装类型UserRepository也就是对应常规开发模式下的DAO接口public interface UserRepository ext...原创 2018-12-21 11:35:24 · 395 阅读 · 0 评论 -
Spring Boot 2.0 读书笔记_07:Spring JDBC Template
5. Spring JDBC Template写在开头,JDBC Template 是 Spring 框架在JDBC基础上做了一定的封装。相比当下的DAO层框架,封装度相对较低,很早之前用过几次,由于SQL注入的Web攻击场景,JDBC Template具有很好的防范。关于SQL注入:JDBC Template中对参数化的SQL查询有着良好的验证机制,因此建议使用参数化SQL的方式,切勿采用S...原创 2018-12-10 17:06:16 · 432 阅读 · 0 评论 -
Spring Boot 2.0 读书笔记_11:配置 Spring Boot
7.配置 Spring Boot写在开头,默认规则:启动端口 8080;Web上下文访问目录 /配置信息均可以在 application.properties 文件中配置基础配置Web监听端口配置application.properties:server.port=9090命令行指定启动端口:java -jar bootsample.jar --server.port=9000...原创 2019-01-02 16:16:54 · 469 阅读 · 0 评论 -
Spring Boot 2.0 读书笔记_12:部署 Spring Boot
8.部署 Spring Boot谈到部署 Spring Boot 应用,这里介绍两种部署的方式:jar方式和war方式。除此之外还会补充说明多环境部署需要注意的地方。jar方式Spring Boot 应用默认采用 jar 形式方式打包,可以通过Maven进行打包插件配置。<!-- Package as an executable jar --><build>...原创 2019-03-08 20:27:38 · 190 阅读 · 0 评论 -
Spring Boot 2.0 读书笔记_13:单元测试【白盒测试】上
9.单元测试【白盒测试】JUnit:Java语言编写的开源的回归测试框架相关概念解释测试被 @Test 注解定义的测试方法,为了运行这个方法,JUnit会创建一个包含类的新实例,然后在调用这个被注释的方法。测试类包含多个 @Test注释方法的容器。断言Assert 断言,为了进行验证,使用由JUnit的Assert类提供的assert方法。常用的ass...原创 2019-03-10 23:22:42 · 1180 阅读 · 0 评论 -
Spring Boot 2.0 读书笔记_14:单元测试【白盒测试】下
Mockito上篇文章介绍了 Spring Boot 单元测试的一些案例场景,其中我们先回想下关于 Service层 模拟对象注入的测试场景,在单元测试过程中,对那些不容易构建对象的采用一个虚拟对象来代替测试的方法称为 Mock测试。在Spring Boot中内置了 Mockito 测试工具 [常用的Mock测试工具还有:JMock、EasyMock等],Mockito 可以模拟任何 类 ...原创 2019-03-16 21:22:36 · 665 阅读 · 0 评论 -
Spring Boot 2.0 读书笔记_15:REST
10.RESTREST原则 是 Roy Thomas Fielding 在 2000年博士论文中提出的。他对互联网软件架构原则命名为 REST [表现层状态转化]。如果一个架构符合 REST原则,就称它为 RESTful 架构。关于 RESTful 架构,最好的方法是去理解 Representational State Transfer 的意义。资源 [Resources]REST 的...原创 2019-03-22 21:37:05 · 194 阅读 · 0 评论 -
Spring Boot 2.0 读书笔记_16:MongoDB 上
11.MongoDBMongoDB 由 C++ 语言编写,是一个基于分布式文件存储的开源数据库系统。支持的数据格式为 BSON 格式, 类 JSON 格式,因此可以存储非常复杂的数据,具有以下特点:支持多种编程语言:Java、C++、PHP、C#、Python等。面向文档存储: 文档格式为类JSON的BSON格式。提供丰富的查询功能,支持对数据建立索引。模式自由,可任意改变文档格式。...原创 2019-03-29 22:41:43 · 255 阅读 · 0 评论 -
关于Duboo的环境搭建及测试心得
1.什么是Duboo:https://baike.baidu.com/item/Dubbo/18907815?fr=aladdin 百度百科告诉你! 2.为什么要采用Dubbo,他是这个样子的:一款分布式服务框架高性能和透明化的RPC远程服务调用方案SOA服务治理方案 每天为2千多个服务提供大于30亿次访问量支持,并被广泛应用于阿里巴巴集...原创 2018-03-19 21:25:16 · 656 阅读 · 0 评论 -
Maven项目报错:Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean ...
构建淘淘商城的首页时候,静态资源配置路径改到一半IDEA挂了,重启后运行服务器就一直报错。 大致内容是:不能清除log日志文件。 Failed to clean project: Failed to delete D:\xx\target\tomcat\logs\access_log.2018-3-22 [ERROR] [ERROR] ...原创 2018-03-22 15:31:18 · 1594 阅读 · 0 评论 -
logback使用学习
关于logback:log4j创始人设计的另一个开源日志组件,主要包括以下模块logback-core:其它两个模块的基础核心模块logback-classic:log4j的一个改良版本,同时它完整实现了slf4j的API使你可以很方便地更换成其它日志系统如log4j或JDK14 logback-access:访问模块与Servlet容器集成提供通过Http来访问日志的功能logback...原创 2018-09-26 16:17:55 · 240 阅读 · 0 评论 -
Mybatis中${ }与#{ }的区别
今天看BBS,看到有关于面试问题的一个帖子,里面提到了关于Mybatis中的#{}和${}的区别,这里也简单总结记录下。#{ }:预编译处理,字符串替换,进行类型匹配Mybatis处理#{}时,会将SQL语句中的变量#{}替换成?号,调用PreparedStatement的set方法来赋值,有效的防止SQL注入。场景:添加、修改、带条件查询(where)e.g:select * fro...原创 2018-09-13 18:01:40 · 205 阅读 · 0 评论 -
Spring中动态配置多数据源
Spring中的多数据源在实际开发中,有很多场景可能会用到多个数据库,当然这个多个数据库存在两种情况:1. 同一类型数据库管理系统中的不同数据库:MySQL DB1 和 MySQL DB22. 不同类型数据库管理系统中的不同数据库:MySQL DB1 和 MsSQL DB2LZ的开发场景就是上述情况2,用户基本信息存储在MySQL数据库中,业务原始数据(数据量庞大)存储在MsSQL...原创 2018-08-31 18:59:53 · 838 阅读 · 1 评论 -
Swagger2初探
Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。是一套流行的API框架,可以帮助开发人员快速构建API文档,还可以方便测试项目各项功能。在Guns框架的学习过程中,集成了Swagger,在此了解学习一下。当下的开发现状是前后端分离,开发人员交流凭借一份接口文档即可,但是关于接口文档的构建和测试,是需要较长时间的,因此为了简化开发流程,提高开发效...原创 2018-08-07 16:52:28 · 1427 阅读 · 0 评论 -
Shiro入门
八月加油!shiro权限管理: shiro架构: securityManager:安全管理器,主体(subject)进行认证和授权。 authenticator:认证器,主体认证所需要的。 anthorizer:授权器,主体授权所需要的。 session...原创 2018-08-01 10:57:45 · 491 阅读 · 0 评论 -
权限管理
权限管理:实现对用户访问系统的控制,按照安全规则或策略控制用户只能访问自己被授权的资源。 用户认证:验证用户身份合法性。 关键对象: subject:主体(用户/程序),访问系统资源 principal:身份信息,唯一性。一个主体可拥有多个身份信息,但是都有一个主身份信息(primary principal) ...原创 2018-07-31 18:29:24 · 443 阅读 · 0 评论 -
Spring MVC 读取静态资源时404错误
先上总结:前端控制器URL配置/,springmvc中配置<mvc:annotation-driven />,静态资源映射两种两种方式,静态资源路径在webapp根目录下。 今天调试了两个SSM框架的项目,都出现了同一个问题,静态资源访问不到404错误。看了很多博客和问答,这里总结一下解决方案,记录下采坑记录吧。 关于静态资源访问不到,最直观的的体现就是你的...原创 2018-07-11 20:35:57 · 2832 阅读 · 1 评论 -
如何实现淘淘商城中的SSO系统的用户登出操作
关于SSO系统登出逻辑的分析: 1.用户登陆后产生token并写入cookie,跳转portal首页后从cookie中取token,进行用户身份核查。 2.用户点击退出按钮后,应请求登出这一业务逻辑。即:删除token所包含的在Redis中的用户信息。 3.删除Redis缓存的用户信息后,进行页面重置操作。即刷新页面操作。 废话不多说,直接上代码:...原创 2018-07-04 11:44:36 · 884 阅读 · 0 评论 -
Spring MVC的web.xml配置详解
出处http://blog.csdn.net/u0107967901、spring 框架解决字符串编码问题:过滤器 CharacterEncodingFilter(filter-name) 2、在web.xml配置监听器ContextLoaderListener(listener-class) ContextLoaderListener的作用就是启动Web容器时,自动装配Applicati...转载 2018-07-02 00:14:49 · 203 阅读 · 0 评论 -
Java Socket初探
网络上两个程序通过一个双向的通信连续实现数据的交换,这个双向链路的一端成为一个Socket。Socket也称套接字。 在Java语言中,Socket可以分为两种类型: TCP(传输控制协议):面向连接的Socket通信协议。 UDP(用户数据报协议):面向无连接的Socket通信协议。 任何一个Socket都是由IP地址和端口号唯一确定的。 基于TCP...原创 2018-06-22 11:32:42 · 152 阅读 · 0 评论 -
Servlet3使用总结
很久没发博文了,五月也已经过了一大半,想写点东西记录下来,就现在吧,把我最近经历的遇到的都总结下。 关于这个Servlet3,我是从我邮箱里的垃圾邮件中看到一个在线测评网站,好奇的我点进去了所谓的链接,第一轮测评题目是采用Servlet3技术去简单实现一个在线的网页时间展示。 Servlet3? Servlet? 在大二学JavaWeb的时候了解过,Servlet不是w...原创 2018-05-18 19:49:57 · 1811 阅读 · 1 评论 -
如何实现淘淘商城中的商品规格模板删除这一操作
最近在跟着学的项目,回过头来发现商品规格模板这一操作并未完成,特开此帖,记录实现过程。 起初状态是这样:选中需要删除的规格参数模板会出现404错误,我们浏览器F12打开这个请求进行下分析。请求的URL:/item/param/delete请求方式:POST请求的参数:? 往下翻一下就可以看到了 这个过程简单来说就是:选中的规格参数的ID作为参数传入...原创 2018-04-25 17:42:40 · 2353 阅读 · 8 评论 -
Spring的事务管理
事务管理对于企业应用而言至关重要。它保证了用户的每一次操作都是可靠的,即便出现了异常的访问情况,也不至于破坏后台数据的完整性。 分别对三个接口进行分析: 1.PlatformTransactionManager 用于执行具体的事务操作,API如下: Spring为不同的持久层框架提供了不同的PlatformTransact...原创 2018-04-11 17:08:27 · 310 阅读 · 0 评论 -
Transaction事务管理
我们在实际业务场景中,经常会遇到数据频繁修改读取的问题。在同一时刻,不同的业务逻辑对同一个表数据进行修改,这种冲突很可能造成数据不可挽回的错乱,所以我们需要用事务来对数据进行管理。 事务(Transaction):构成单一逻辑工作单元的操作集合 DBMS中的用户程序,DBMS外的可执行程序,对数据库的读/写操作序列 事务的特性-ACID: ...原创 2018-04-10 19:52:44 · 633 阅读 · 0 评论 -
SpringBoot,了解一下?
Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。 我们来搭建下基本框架,进行下入门: 1.IDEA创建maven项目,采用web模板 2.在pom.xml中配置...原创 2018-04-03 20:41:13 · 193 阅读 · 0 评论 -
Mybatis的分页插件的使用提示
先放出分页插件的开源地址及使用方法:https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse.md这里针对的采用PageHelper.startPage 静态方法调用(官方文档说的很清楚):PageHelper.startPage(page, rows);只对该语句以后的第一个查询语...原创 2018-03-29 15:07:56 · 154 阅读 · 0 评论 -
Mybatis逆向工程中生成的Example类
MyBatis Generator:简称MBG,是一个专门为MyBatis框架使用者定制的代码生成器,可以快速的根据表生成对应的映射文件,接口,以及bean类。支持基本的增删改查,以及QBC风格的条件查询。但是表连接、 存储过程等这些复杂sql的定义需要我们手工编写。 详细的逆向工程搭建工程见博客:https://www.cnblogs.com/HawkFalcon/p/7999...原创 2018-03-27 09:07:26 · 24774 阅读 · 4 评论 -
Spring Boot 2.0 读书笔记_17:MongoDB 下 [整合 Spring Boot]
Spring Boot 整合 MongoDB书接上回,开始 Spring Boot 和 MongoDB 的整合。有了 Maven 这一项目管理构建工具,可以很容易的在 pom 文件中引入依赖来统一管理 jar包<dependency> <groupId>org.springframework.boot</groupId> <artifactId&g...原创 2019-04-01 21:30:17 · 348 阅读 · 0 评论