- 博客(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 381
原创 使用LocalDateTime优雅的处理日期
简介LocalDateTime是Java8中添加的类,用于补充java在日期处理的短处,常用的类还有LocalDate,LocalTime,Duration,Period,常用API包括获取当前时间,指定特定时间。进行时间的加减等LocalDateTime localDateTime3 = LocalDateTime.now();LocalDate.now();Loca...
2018-03-28 23:14:14 10990
原创 Maven使用小结
综述maven是java中用于管理jar包依赖的工具,包含dependencyManagement,dependency,profiles,build,parent,properties等部分。parentparent 用于指定该maven项目继承自哪个maven项目,继承后需要在dependency中声明使用parent中的依赖。同时也会继承其plugin等。depend...
2018-03-28 23:12:47 235
原创 单例模式
简介单例模式在是指在程序运行过程中只存在一个该类的实例,这对于复杂的项目来说减轻了项目运行时的负担。因此在许多框架中有着重要的应用,比如Spring. 对于严格限制的单例模式,单例类应该具有以下特点: 1.私有化构造器 2.在类的内部将实例创建 3.提供静态公共的获取实例的方法 单例模式分为饿汉式(一种)和懒汉式(三种),下面将依次介绍:饿汉式饿汉式,即在类加载时就将其初始化 或者置于静态
2017-03-30 23:19:53 191
原创 装饰模式及其与代理模式的区别
简介装饰模式与代理模式都是非常经典实用的设计模式,而其代码实现的又让人感觉相似性很高。本文将首先介绍装饰模式和静态代理模式的简单实现,并探讨2者的区别。装饰模式装饰模式,可以理解为在代码执行过程中,动态的为其增加功能,使其方法更加健壮的一种设计模式。实例如下: 1.创建上层接口和具体实现:/** * 上层接口 */public interface Student { public v
2017-03-30 00:26:19 260
原创 Java静态代理与JDK+cglib动态代理
简介代理模式是一种十分经典和常用的设计模式,在Java的许多框架中有着十分重要的作用,比如Spring和MyBatis等。本文将从静态代理,JDK动态代理,cglib动态代理三种实现方式进行展示,并观察JDK动态代理的实现方式。首先来看静态代理1.首先编写一个Teacher接口,并拥有一个实现类TeacherImpl:/** * 被代理的接口 */public interface Teache
2017-03-29 23:44:49 257
转载 使用Java发布WebService的简单实例
本文转载于http://m.blog.csdn.net/article/details?id=401637571,在Java项目中发布一个WebService服务:如何发布?——JDK1.6中JAX-WS规范定义了如何发布一个WebService服务;(1)用jdk1.6.0_21以后的版本发布;(2)与Web服务相关的类,都位于Javax.jws.
2017-03-16 23:20:11 482
原创 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 423
原创 在Spring中Bean的初始化/Spring4.0的组成
Spring中bean的初始化在传统的创建模式中使用 new 关键字创建对象即可使用,使用完毕之后交由GC回收处理。而在Spring中,一个bean的初始化会经过如下流程:简而言之就是:Spring会创建bean,并进行依赖注入,而后根据加载类中是否有固定接口的实现类来决定是否【依次】调用 实现接口的类中的对应方法。 在调用结束后也会调用对应接口实现类的方法进行终止。Spring的组成sp
2016-12-06 23:58:20 364
原创 学习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 285
原创 学习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 416
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人