- 博客(12)
- 收藏
- 关注
原创 Java的lambda和函数式编程
一、lambda出现的背景 精简代码 Runnable runnable1 = new Runnable() { @Override public void run() { System.out.println("runned111"); } }; Runnable runnable = ()->{ System.out.println("r...
2018-03-28 23:15:41 341
原创 使用LocalDateTime优雅的处理日期
简介 LocalDateTime是Java8中添加的类,用于补充java在日期处理的短处,常用的类还有LocalDate,LocalTime,Duration,Period, 常用API 包括获取当前时间,指定特定时间。进行时间的加减等 LocalDateTime localDateTime3 = LocalDateTime.now(); LocalDate.now(); Loca...
2018-03-28 23:14:14 10953
原创 Maven使用小结
综述 maven是java中用于管理jar包依赖的工具,包含dependencyManagement,dependency,profiles,build,parent,properties等部分。 parent parent 用于指定该maven项目继承自哪个maven项目,继承后需要在dependency中声明使用parent中的依赖。同时也会继承其plugin等。 depend...
2018-03-28 23:12:47 201
原创 单例模式
简介单例模式在是指在程序运行过程中只存在一个该类的实例,这对于复杂的项目来说减轻了项目运行时的负担。因此在许多框架中有着重要的应用,比如Spring. 对于严格限制的单例模式,单例类应该具有以下特点: 1.私有化构造器 2.在类的内部将实例创建 3.提供静态公共的获取实例的方法 单例模式分为饿汉式(一种)和懒汉式(三种),下面将依次介绍:饿汉式饿汉式,即在类加载时就将其初始化 或者置于静态
2017-03-30 23:19:53 179
原创 装饰模式及其与代理模式的区别
简介装饰模式与代理模式都是非常经典实用的设计模式,而其代码实现的又让人感觉相似性很高。本文将首先介绍装饰模式和静态代理模式的简单实现,并探讨2者的区别。装饰模式装饰模式,可以理解为在代码执行过程中,动态的为其增加功能,使其方法更加健壮的一种设计模式。实例如下: 1.创建上层接口和具体实现:/** * 上层接口 */ public interface Student { public v
2017-03-30 00:26:19 225
原创 Java静态代理与JDK+cglib动态代理
简介代理模式是一种十分经典和常用的设计模式,在Java的许多框架中有着十分重要的作用,比如Spring和MyBatis等。本文将从静态代理,JDK动态代理,cglib动态代理三种实现方式进行展示,并观察JDK动态代理的实现方式。首先来看静态代理1.首先编写一个Teacher接口,并拥有一个实现类TeacherImpl:/** * 被代理的接口 */ public interface Teache
2017-03-29 23:44:49 206
转载 使用Java发布WebService的简单实例
本文转载于http://m.blog.csdn.net/article/details?id=40163757 1,在Java项目中发布一个WebService服务: 如何发布? ——JDK1.6中JAX-WS规范定义了如何发布一个WebService服务; (1)用jdk1.6.0_21以后的版本发布; (2)与Web服务相关的类,都位于Javax.jws.
2017-03-16 23:20:11 466
原创 spring4学习笔记--配置Spring-container
在spring4.0中提供了两种方式用于配置spring-container,分别是传统的XMLconfig与新特性JavaConfig,两者是可以混用的。XMLconfig使用传统的XMLconfig配置时,只需要新建一个XML文件,在XML文件中写下如下代码即可<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.spri
2017-01-03 22:51:10 402
原创 在Spring中Bean的初始化/Spring4.0的组成
Spring中bean的初始化 在传统的创建模式中使用 new 关键字创建对象即可使用,使用完毕之后交由GC回收处理。 而在Spring中,一个bean的初始化会经过如下流程: 简而言之就是:Spring会创建bean,并进行依赖注入,而后根据加载类中是否有固定接口的实现类来决定是否【依次】调用 实现接口的类中的对应方法。 在调用结束后也会调用对应接口实现类的方法进行终止。Spring的组成 sp
2016-12-06 23:58:20 328
原创 学习AOP、templates、container
了解AOP 当不使用AOP编程时 // 需要在某个knight.embark()前后执行某写方法 public class knight(){ // 需要被注入的属性 private Minstrel minstrel; public Knight(Minstrel minstrel){ this.minstrel = minstrel; } pu
2016-12-06 00:16:54 249
原创 学习DI--第一篇
解耦高度耦合// 构造器内 public Knight(){ this.quest = new SomeQuest(); } 解耦public Knight(Quest quest){ // 不与固定的quest绑定 任何implement了Quest的实体都可以被关联 this.quest = quest; }使用Mock测试解耦import static org.moc
2016-12-01 00:20:53 386
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人