关闭

[置顶] 程序员该有的艺术气质—SOLID原则

昨天Amazon在我们学校有场讲座,主要是跟我们分享一些经验:作为一个程序员该有的编码硬技术和工作软技术。当然他们也有来我们学校招聘人才的目的,想要吸引我们去他们公司,于我而言,这么牛逼的一个公司我当然特别想去啦,这场讲座我是必听无疑,的确学到了一些知识。没有过实际项目的在校生往往不能写出漂亮的代码(包括编码规范、注释、设计模式、性能等等),因为他们更多注重的正确性,只要结果出来了且是正确的,那么...
阅读(1100) 评论(0)

Spring Boot教程 - Spring Boot Profiles实现多环境下配置切换

在后端开发中,应用程序在不同的环境可能会有不同的配置,例如数据库连接、日志级别等,开发,测试,生产每个环境可能配置都不一致。使用Spring Boot的Profile可以实现多场景下的配置切换,方便开发中进行测试和部署生产环境。 下面就大致介绍一下yml配置文件跟properties配置文件怎么使用profile配置不同环境的配置文件。开发环境 JDK 1.8 Maven 3.x Spring Bo...
阅读(34) 评论(0)

Spring Boot教程 - Spring Boot集成Mybatis(注解配置)

上一篇文章:介绍了 Spring Boot集成Mybatis 基于XML方式的配置,本文将重点介绍 注解方式配置Mybatis 。开发环境 JDK 1.8 Maven 3.3 Spring Boot 1.5.8.RELEASE Mybatis 3.4.4 配置首先引入spring-boot-starter-parent: <!-- Inherit defaults from Spring Bo...
阅读(38) 评论(0)

Spring Boot教程 - Spring Boot集成Mybatis(XML方式)

项目开发中不可避免需要跟数据库打交道,作者开发的项目的中广泛使用Mybatis作为ORM框架。 本文主要讲解在Spring Boot项目中 如何整合Mybatis。开发环境 JDK 1.8 Spring Boot 1.5.8.RELEASE Mybatis 3.4.4...
阅读(33) 评论(0)

图片添加水印(Java 实现)

某些应用场景下需要对图片加上水印防止盗用,例如微博用户图片。Java中实现添加水印需要用到BufferedImage、Graphics2D 和ImageIO类。1. 添加文字水印 import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import...
阅读(811) 评论(0)

Spring事务系列 - Spring 事务管理

一、Spring 的编程式事务管理1. 基于底层 API 的编程式事务管理根据PlatformTransactionManager、TransactionDefinition 和 TransactionStatus 三个核心接口,我们完全可以通过编程的方式来进行事务管理。代码如下:@Service public class BankServiceImpl implements BankService...
阅读(310) 评论(0)

Spring MVC HandlerInterceptor 实现原理(源码)

上一篇文章中介绍了 Spring MVC HandlerInterceptor的使用和应用场景,本篇中我们将结合Spring MVC 源码来研究一下其内部实现。本文分析使用Spring Framework源码 为 Spring Framework 4.3.4.RELEASE 。首先,我们看一下 org.springframework.web.servlet.DispatcherServlet do...
阅读(467) 评论(0)

Spring MVC 拦截器(HandlerInterceptor)使用

最近需要画UML图,从网上找了几个工具软件,比较之后发现StarUML 2 很不错,支持UML 2.0。 StarUML 2 is compatible with UML 2.x standard and supports totally 11 kinds of UML diagrams: Class, Object, Use Case, Component, Deployment, Compo...
阅读(1016) 评论(0)

MySQL 乐观锁与悲观锁

MySQL 乐观锁与悲观锁...
阅读(709) 评论(0)

MyBatis源码剖析 - MyBatis 插件之拦截器(Interceptor)实现原理

在上一篇文章:MyBatis 教程 - MyBatis插件(Plugins)开发 中已经介绍了如何去开发一个MyBatis 插件,本文将结合MyBatis 源码来揭秘MyBatis Plugins内部实现原理。Mybatis3 插件采用责任链模式,通过动态代理组织多个拦截器(插件),通过这些拦截器可以改变Mybatis的默认行为(诸如SQL重写之类的)。本文分析使用的MyBatis 源代码版本为3....
阅读(2990) 评论(0)

MyBatis 教程 - MyBatis插件(Plugins)开发

MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis 允许使用插件来拦截的方法调用包括: Executor (update, query, flushStatements, commit, rollback, getTransaction, close, isClosed) ParameterHandler (getParameterObject, setP...
阅读(7830) 评论(2)

使用SnakeYAML读取yaml配置文件

很多应用都开始使用YAML作为程序配置文件,关于YAML详细介绍可以参考YAML 1.2 (3rd Edition),本文使用SnakeYAML。示例sample.ymlversion: 1.0 released: 2017-02-14# Connection parameters connection: driverClass: com.mysql.jdbc.Driver url:...
阅读(917) 评论(0)

maven javadoc plugin build fails with Java 8 when Javadoc tags are incomplete

本地开发环境JDK版本是1.7,生成Javadoc没有问题,在测试环境使用Jenkins自动构建时报错(测试服务器JDK版本是1.8),log如下:/home/andreas/workspaces/cdm/cdm-vaadin/src/main/java/eu/etaxonomy/cdm/vaadin/ui/ConceptRelationshipUIRedirect.java:28: error:...
阅读(1168) 评论(0)

从零开始实现RPC框架 - RPC原理及实现

RPC概述RPC(Remote Procedure Call)即远程过程调用,允许一台计算机调用另一台计算机上的程序得到结果,而代码中不需要做额外的编程,就像在本地调用一样。现在互联网应用的量级越来越大,单台计算机的能力有限,需要借助可扩展的计算机集群来完成,分布式的应用可以借助RPC来完成机器之间的调用。RPC框架原理在RPC框架中主要有三个角色:Provider、Consumer和Registr...
阅读(1723) 评论(0)

Spring Boot学习笔记 - 整合Swagger2自动生成RESTful API文档

在App后端开发中经常需要对移动客户端(Android、iOS)提供RESTful API接口,在后期版本快速迭代的过程中,修改接口实现的时候都必须同步修改接口文档,而文档与代码又处于两个不同的媒介,除非有严格的管理机制,不然很容易导致代码与接口文档不一致现象。本文将介绍RESTful API的重磅好伙伴Swagger2,它可以轻松的整合到Spring生态链中,并与Spring MVC程序配合组织出...
阅读(4202) 评论(0)

Java注解处理器 - 五分钟快速入门

基本概念Java 注解(Annotation)分为两类:编译时(Compile time)处理的注解和在运行时(Runtime)通过反射机制运行处理的注解。本文将重点介绍在编译时(Compile time)处理的注解,关于在运行时(Runtime)通过反射机制运行处理的注解,比较简单这里不做介绍大家可以自行找资料学习。注解处理器(Annotation Processor)是javac的一个工具,它用...
阅读(553) 评论(0)
512条 共35页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:1813844次
    • 积分:21320
    • 等级:
    • 排名:第392名
    • 原创:485篇
    • 转载:24篇
    • 译文:3篇
    • 评论:491条
    博客专栏
    文章分类
    最新评论