工作实习
文章平均质量分 85
蓝星花
用代码编写我们的青春年华!
展开
-
智慧商圈支付宝小程序(ISV系统服务商开发模式)
一、产品成果二、前言本次支付宝小程序和以前支付宝小程序不同是,以前小程序主体就是个普通的小程序,这次我们是站在第三方ISV(服务商)角度来进行开发。ISV 帮助商户开发小程序时可使用的两种开发模式:模板开发模式(我们这次方案)代开发模式模板开发模式支持 ISV 通过 API 批量处理商户小程序,所以该模式比较适合有大量同类型商家客户的ISV;代开发模式则比较适合商户定制化小程...原创 2020-01-07 19:50:29 · 5098 阅读 · 2 评论 -
SpringBoot系统学习 - 启动篇
1.前言到这里,我们对springBoot对常用的工具整合都有一定的了解了,那我们是否想过:springboot启动的过程都干了些啥事情啊? 好好想一想?Bean注入容器,配置注入…?2.启动流程示意图SpringBoot将spring应用的启动流程进行了一个“模板化”的操作,所以我们才能通过SpringApplication.run(XXX.class, args)的方式来进行...原创 2018-09-02 11:21:13 · 4250 阅读 · 0 评论 -
SpringBoot系统学习 - 持久层篇
一、前言Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。你要学习的内容: 整合JdbcTemplate 整合Spring-data-jpa 整合Mybatis 整合Druid数据源,配置Druid监控项...原创 2018-08-29 20:29:34 · 2912 阅读 · 0 评论 -
SpringBoot系统学习 - Web篇
一、前言Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。你要学习的内容: 整合Freemarker 整合 Thymeleaf 整合自定义servlet 整合自定义过滤器,监听器,拦截器 配置Aop...原创 2018-08-29 19:41:41 · 904 阅读 · 0 评论 -
SpringBoot系统学习 - 基础篇
一、前言Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。二、环境搭建 如果不会用Idea建SpringBoot项目,兄弟赶紧百度吧。2.1 pom.xml文件<?xml version=&amp原创 2018-08-29 15:06:28 · 1250 阅读 · 1 评论 -
SpringBoot系统学习 - 简介篇
1.前言Spring为企业级Java开发提供了一种相对简单的方法,通过依赖注入和面向切面编程,用简单的Java对象(POJO)。但是spring的配置却是重量级的。一开始,spring用XML配置,而且是很多XML配置。Spring 2.5引入了基于注解的组件扫描,消除了大量针对程序本身组件的显示XML配置。Spring3.0引入基于Java的配置,这是一种类型安全的可重构的配置方式,代替XM...原创 2018-08-29 14:17:26 · 935 阅读 · 0 评论 -
工具篇-日志框架logback
1.为什么要使用logback 在开发中不建议使用System.out,因为大量的使用会增加资源的消耗,system.out是在当前线程执行的。而log工具不但可以控制日志输出的格式,怎么输出,它的处理机制也是通知写日志,继续执行后面的代码不必等日志写完。LogBack和Log4j都是开源日记工具库,LogBack是Log4j的改良版本,比Log4j拥有更多的特性,同时也带来很大性能提升。...原创 2018-08-24 10:31:16 · 628 阅读 · 0 评论 -
工具篇-消息队列常见的几种使用场景
1.前言消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。常见的消息队列有:ActiveMQ,RabbitMQ,KafKa,RocketMQ。2.应用场景...转载 2018-08-23 10:30:32 · 427 阅读 · 0 评论 -
第二篇-感受一下前后端分离
1.前言在用户第一次登录成功后,服务端返回一个token回来,这个token是根据userId进行加密的,密钥只有服务器知道,然后浏览器每次请求都把这个token放在Header里请求,这样服务器只需进行简单的解密就知道是哪个用户了。2.涉及的技术 1.springboot 2.跨域访问(CORS)和token校验 3.jjwt生成token 4.拦截器的使用...转载 2018-08-26 18:06:51 · 1080 阅读 · 0 评论 -
第一篇-为什么要前后端分离
1.前言前后端分离并不是什么新鲜事,到处都是前后端分离的实践。然而一些历史项目在从一体化 Web 设计转向前后端分离的架构时,仍然不可避免的会遇到各种各样的问题。 由于层出不穷的问题,甚至会有团队质疑,一体化好好的,为什么要前后端分离? 说到底,并不是前后分离不好,只是可能不适合,或者说……设计思维还没有转变过来…2.一体化pk前后端分离 (架构)一体化: 前后端分离...原创 2018-08-26 17:32:08 · 1701 阅读 · 0 评论 -
实习生如何在平淡无奇的工作中凸显自我价值?
基本上实习生会干很多琐碎的工作,俗称跑腿的事情(但我现在的实习工作并不是这样,还是很充实的),那么如何看待实习生在工作中的价值? 如果你认为自己是实习生,就认为自己的存在感很差,那么不思进取,那么可以告诉你,你懦弱不堪。 如果你认为自己是实习生,就认为自己的工作不是很重要,吊儿郎当,那么可以告诉你,你难成大器。 如果你认为自己是实习生,就认为大不了走着瞧,无所所谓,那么可以告诉...原创 2018-08-03 10:54:11 · 2685 阅读 · 0 评论 -
SpringBoot系统学习 - 缓存篇
一、前言Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。你要学习的内容: 整合Ehcache 整合Redis 整合MongoDB项目源码:https://github.com/chenxingxing6/sp...转载 2018-08-29 20:32:17 · 511 阅读 · 0 评论 -
SpringBoot系统学习 - 配置篇
1、MVC相关mvc spring.mvc.async.request-timeout设定async请求的超时时间,以毫秒为单位,如果没有设置的话,以具体实现的超时时间为准,比如tomcat的servlet3的话是10秒. spring.mvc.date-format设定日期的格式,比如dd/MM/yyyy. spring.mvc.favicon.enabled是否支持favicon.i...转载 2018-08-29 20:44:39 · 1417 阅读 · 0 评论 -
Activiti工作流-实战篇(和spring整合)
一、引入依赖pom <!-- activiti --> <activiti.version>6原创 2018-12-01 19:05:19 · 2611 阅读 · 0 评论 -
Activiti工作流-实战篇(用Activiti框架快速开发我们的工作流)
一、前言我实习的第一份工作接触到的就是工作流,那时正好带我的师兄他负责审批流的架构和开发,然后我就在大神的胯下茁壮成长。当时确实对我来说非常有挑战性,还好师兄的架构做的不错,底层的框架用的就是Activiti。不过说实话,学到了很多东西,顺便分享一下我们当时是怎么巧妙的用Activiti框架快速实现我们的工作流。二、最后的成品1.PC端pc端干的事情,主要是流程的定义和流程的发起,...原创 2018-12-01 18:14:33 · 8531 阅读 · 14 评论 -
Activiti工作流-简介篇
一、前言工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”。在工作中慢慢接触的业务流程,就向流程控制语言一样,一步一步都对应的不同的业务,但整体串联起来就是一个完整的业务。而且实际工作中尤其是在企业内部系统的研发中,确实需要对应许多审批流程的管理。而工作流就是能够在程序中,将这些支离破碎的流程,通过配置的方式管理起来,整体作为一个流程,方便修改,也方便维护。de...原创 2018-12-01 17:50:05 · 978 阅读 · 0 评论 -
前后端分离-根据代码讲解思路
1.前面写过前后端分离相关文章第一篇-为什么要前后端分离 https://blog.csdn.net/m0_37499059/article/details/82082534第二篇-感受一下前后端分离 https://blog.csdn.net/m0_37499059/article/details/820828252.根据代码讲解思路用户登录时,生成一个token,并给toke...原创 2018-10-21 19:08:50 · 4359 阅读 · 1 评论 -
mybatis-generator-修改源码生成自己想要的代码
前言虽然mybatis-generator能生成dao,mapper,xml等文件,但是生成的代码也不是完全通用,所以这里我们要的mybatis-generator-core源码进行修改。场景1.生成自己想要的注释/** * 用户信息 * * @author lanxinghua * @date 2018/10/20 */public class UserBo im...原创 2018-10-20 20:42:22 · 8042 阅读 · 0 评论 -
mybatis-generator-代码自动生成器
前言Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,由于手动书写很容易出错,我们可以利用Mybatis-Generator来帮我们自动生成文件。怎么操作呢?1.命令方式2.maven插件方式1.命令方式java -jar mybatis-generator-core-1.3.2.jar -configfile generator...原创 2018-10-20 20:12:06 · 1708 阅读 · 0 评论 -
SpringBoot-定义自己的auto-configuration
1.前言Spring Boot内部定义了各种各样的xxxAutoConfiguration配置类,预先定义好了各种所需的Bean。只有在特定的情况下这些配置类才会被起。 那我们如何定义一个自己的Configuration呢?顺便了解一下原理?2.那我们开始吧,哈哈哈2.1 新建一个Maven工程<groupId>org.springframework.boot</gr...原创 2018-10-07 22:13:31 · 2281 阅读 · 0 评论 -
Elastic-job实战(分布式作业调度框架)
一.前言Elastic job是当当网架构师张亮,曹昊和江树建基于Zookepper、Quartz开发并开源的一个Java分布式定时任务,解决了Quartz不支持分布式的弊端。Elastic job主要的功能有支持弹性扩容,通过Zookepper集中管理和监控job,支持失效转移等,这些都是Quartz等其他定时任务无法比拟的。官网说明:目前Elastic job的最新版本已经由原来的ela...原创 2018-09-28 19:04:29 · 5986 阅读 · 10 评论 -
Excel导入导出-(poi)简单封装两个类,拿来就可以用
前言我们在做项目中,肯定有Excel导入导出这个需求,但看网上poi相关文档乱七八糟,还不如干脆实际一点,直接来个稍微简单点的demo,暂时把业务相关的东西抛开,于是我直接封装了两个ExcelExport,ExcelImport类,通过运行main方法,我们就能快速体验导入导出的效果。然后我们用springboot搭建了web项目,体验一下web导入excel和导出excel。Github项目...原创 2018-10-04 18:32:30 · 1856 阅读 · 0 评论 -
总结篇-定时调度任务的几种方式
任务调度是指基于给定时间点,给定时间间隔或者给定执行次数自动执行任1.前言我们举一个简单的例子:创建一个thread,然后让它在while循环里一直运行着,通过sleep方法来达到定时任务的效果。这样可以快速简单的实现。public static void main(String[] args) { final long timeInterval = 1000; ...原创 2018-08-07 12:31:58 · 11939 阅读 · 0 评论 -
钉钉自定义机器人-后台开发
钉钉自定义机器人-后台开发,我们通过配置就好了,方便操作!下面实例是22点22分发送不同的消息。官方文档:https://open-doc.dingtalk.com/docs/doc.htm?treeId=257&articleId=106438&docType=1后台界面开发步骤1) 先拿到机器人的webhock2) 对消息封装,然后p...原创 2018-08-04 22:49:18 · 26152 阅读 · 7 评论 -
理解Maven中的SNAPSHOT版本和正式版本
前言 Maven中建立的依赖管理方式基本已成为Java语言依赖管理的事实标准,Maven的替代者Gradle也基本沿用了Maven的依赖管理机制。在Maven依赖管理中,唯一标识一个依赖项是由该依赖项的三个属性构成的,分别是groupId、artifactId以及version。这三个属性可以唯一确定一个组件(Jar包或者War包)。其实在Nexus仓库中,一个仓库一般分为publi...转载 2018-07-11 21:02:32 · 777 阅读 · 0 评论 -
实际项目-处理异常
1.前言 不管是什么程序开发都可能会出现各种各样的异常。可能是程序错误,也可能是业务逻辑错误。针对这个各个开发人员都有自己的处理方式,不同的风格增加了业务系统的复杂度和维护难度。所以定义好一个统一的异常处理框架还是需要的。我们开发框架采用java实现,java中的异常一般分为两种,检查异常和运行时异常。检查异常(checked exception)有可能是程序的业务异常,这种异常一般都是开...原创 2018-07-11 11:31:20 · 714 阅读 · 0 评论 -
IDEA-企业实际项目开发中常用快捷键
【常用快捷键1】Ctrl+O,重写方法 Ctrl+I,实现父类的方法 Ctrl+Alt+L,格式化代码 Ctrl+Enter,导入包,自动修正 Ctrl+J,自动代码(例如:serr) Ctrl+G,定位行【常用快捷键2】Ctrl+Shift + Enter,语句完成 Ctrl+E,最近的文件 Ctrl+Shift+E,最近更改的文件 Ctrl+N,可以快速打开类 ...原创 2018-07-11 10:44:58 · 341 阅读 · 0 评论 -
实际项目开发-dubbo原理深入理解
1.前言 dubbo我们通常用zk作为注册中心,那你们有想过dubbo把什么东西注册过去了么? 2.dubbo框架 蓝色的表示与业务有交互,绿色的表示只对Dubbo内部交互。 Dubbo框架设计一共划分了10个层,而最上面的Service层是留给实际想要使用Dubbo开发分布式服务的开发者实现业务逻辑的接口层: 1.服务接口层service :该...原创 2018-07-17 11:05:58 · 2645 阅读 · 4 评论 -
实际项目-审批流程的实现
1.需求2.前言我们可以快速的实现该工作审批流程,比如通过多个if-else去判断,但是当我们审批对象发生改变了,那我们的代码又需要去改动,破坏了软件的开闭原则。所以这里我们用一种行为设计模式:责任链模式。3.Java代码具体实现...原创 2018-07-11 00:16:53 · 27242 阅读 · 2 评论 -
RocketMQ 实战之快速入门
开始我学的是ActiveMq,但公司用的是RocketMq消息队列,那我们来学习一波吧!#转载 2018-07-10 19:17:15 · 929 阅读 · 0 评论 -
Jetty入门-第一篇
企业这边在用jeety,那我们开始学一波咯!1.前言 Jetty 目前的是一个比较被看好的 Servlet 引擎,它的架构比较简单,也是一个可扩展性和非常灵活的应用服务器,它有一个基本数据模型,这个数据模型就是 Handler,所有可以被扩展的组件都可以作为一个 Handler,添加到 Server 中,Jetty 就是帮你管理这些 Handler。2.jeety和tomca...原创 2018-07-10 16:29:42 · 741 阅读 · 2 评论 -
实际项目开发-Mock服务-RAP
1.前言 RAP 是一个可视化接口管理工具, 通过分析接口结构,动态生成模拟数据,校验真实接口正确性, 围绕接口定义,通过一系列自动化工具提升我们的协作效率。 在 RAP 中,您可定义接口的 URL、请求和响应细节格式等等。通过分析这些数据,RAP 提供 MOCK 服务、测试服务等自动化工具。自己可以搜一个教程去搭建。 2.为什么要使用mock在前后端分离的开...原创 2018-07-16 15:11:27 · 964 阅读 · 0 评论 -
实际项目开发常用的Maven命令
1.常用Maven命令mvn assembly:assembly -DskipTests maven打包的时候 ,将依赖包 打进同一个jar包命令 mvn archetype:generate 原型:生产mvn clean清除编译产生target文件的内容 mvn compile 编译源码 mvn test-compile编译测试代码 mvn test:运行测试 mv...原创 2018-07-12 11:19:57 · 426 阅读 · 0 评论 -
实际项目开发-测试篇
1.前言 一般我们写好了一个接口,并且实现后,我们要写对应的测试用例,因为公司这边对我们写的代码要达到一定的测试覆盖率。2.测试Junit 不用注解,Spring+junit4 实现注解测试 applicationContext.xml<?xml version="1.0" encoding=&原创 2018-07-12 14:28:15 · 1483 阅读 · 0 评论 -
实际项目开发-GitLab CI持续集成
1.概述 Gitlab是常用的开源git代码管理工具之一,随着发展也推出了ci/cd解决方案.顾名思义具体来说ci/cd主要完成以下两个工作: 注:从8.0版本开始,GitLab 持续集成(CI)完全集成到GitLab中,且默认所有的项目开启。 ci(持续构建):代码提交后触发自动化的单元测试,代码预编译,构建镜像,上传镜像等. cd(持续发布):持续发布...原创 2018-07-12 14:57:04 · 2756 阅读 · 0 评论 -
问题篇-解决shiro和quartz 版本冲突问题
1.前言项目里需要对过期的 shiro session 进行清理,shiro 自带了 shiro-quartz 模块可以胜任这项工作。但版本很低,如果我们项目里要用定时任务,复杂一些的我们肯定会用quartz,因此会出现jar包的版本冲突。2.解决办法1)第一种(我现在就是用这种,问题解决)把shiro中依赖的quartz包排除 <dependency> ...原创 2018-08-09 10:47:28 · 6710 阅读 · 0 评论 -
互联网公司实际部署平台-协作平台
1.前言 一般我们自己搞一个项目,就是写完后然后扔到tomcat的webapp目录下,开启tomcat,这样就部署完了。但是当项目大时,很多人一起开发时,这就比较麻烦了。所以,一般大一些的公司他们都会有自己的团队的开发平台,我们通过平台来去管理我们的项目,包括项目的创建,部署等等….2.创建变更 其实就是在gitlab上,对应项目的主分支上创建一个新分支,进行开发。...原创 2018-07-23 08:24:47 · 3430 阅读 · 1 评论 -
IDEA 单元测试覆盖技巧
1.前言通常情况下,项目经理or项目总监会分阶段的问测试负责人,本阶段的测试覆盖率是多少?在工作中,当被问到“如何提高代码质量”,回答无非如下几个,增加评审,代码规约,单元测试。不知起自何年何月,如今一些机构开始引入“单元测试覆盖率”的概念,并由此对程序员提出了覆盖率要达到70%,90%,以此来评判程序员工作的质量,以及产品的质量。这里先预为单元测试下定义以免混淆,即,基于Junit,类与代码...原创 2018-07-26 17:44:44 · 24672 阅读 · 0 评论 -
公司内部Wiki及搭建wiki系统-confluence
1. 前言 Wiki 是一个协同著作平台或称开放编辑系统。我们可以用Wiki来建设帮助系统,知识库系统。国内公共wiki最著名就是百度百科.那公司内部为什么要使用wiki呢?2.内部wiki的作用1.鼓励分享分享是互联网的精神,wiki能将互帮互助融入到企业文化之中。除了工作上的成就,让员工在工作之余,能够体会到帮助他人的成就和快乐。2.提升员工个人能力很多难懂深...转载 2018-07-26 15:15:56 · 78490 阅读 · 9 评论 -
HttpClient总结篇
1.前言 http协议可以说是现在Internet上面最重要,使用最多的协议之一了,越来越多的java应用需要使用http协议来访问网络资源,特别是现在rest api的流行,HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。HttpClie...转载 2018-07-26 10:46:47 · 259 阅读 · 0 评论