- 博客(25)
- 收藏
- 关注
转载 Spring系列__04AOP
AOP简介今天来介绍一下AOP。AOP,中文常被翻译为“面向切面编程”,其作为OOP的扩展,其思想除了在Spring中得到了应用,也是不错的设计方法。通常情况下,一个软件系统,除了正常的业务逻辑代码,往往还有一些功能性的代码,比如:记录日志、数据校验等等。最原始的办法就是直接在你的业务逻辑代码中编写这些功能性代码,但是,这样除了当时开发的时候比较方便以外;代码的阅读性、可维护性都会大大...
2019-09-16 23:17:00
110
转载 SpringBoot系列__02HelloWorld探究
在前文中,我们创建了一个简单的hello world,现在,利用这个简单的程序,来简单分析一下SpringBoot的启动过程。如果你是使用过SSM框架的人,尤其是4.0之前的版本,相信你使用过xml方式来配置你的项目;但是,当你首次使用SpringBoot的时候,会惊奇的发现,一点配置文件也没写(你没写,但是不代表没有),就能成功启动一个web应用。下面关于这点,来简单解释一下。1...
2019-09-12 18:42:00
103
转载 SpringBoot系列__01HelloWorld
接触SpringBoot很久了,但是一直没有很深入的研究一下源码,最近重启了博客,顺便开始深入研究一下技术。1.简介参照官方文档的说法,SpringBoot的设计理念就是为了简化Java程序员搭建一个企业级应用(实际使用情况确实如此),所以我的感觉是:SpringBoot是一个可以快速上手,但是精通比较难得框架,如果真的想要了解,应该了解Spring框架的设计。好了,废话不多说,进...
2019-09-12 15:35:00
113
转载 设计模式代码地址
设计模式代码地址:git@github.com:houyuanbin/houyuanbin.github.io.git转载于:https://www.cnblogs.com/JackHou/p/11326668.html
2019-08-09 13:35:00
76
转载 DesignPattern系列__10单例模式
单例模式介绍单例模式,是为了确保在整个软件体统中,某个类对象只有一个实例,并且该类通常会提供一个对外获取该实例的public方法(静态方法)。比如日志、数据库连接池等对象,通常需要且只需要一个实例对象,这就会使用单例模式。单例模式的7种模式饿汉式静态常量静态代码块懒汉式线程不安全同步方法同步代码块双重检查静态内部类枚举容器实现单例模式线程池实现单例...
2019-08-07 19:31:00
128
转载 DesignPattern系列__09设计模式概述
设计模式介绍设计模式是程序员在面对同类软件工程设计问题所总结出来的有用的经验,模式不是代码,而是某类问题的通用解决方案, 设计模(Design pattern)代表了最佳的实践。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。设计模式的本质提高 软件的维护性,通用性和扩展性,并降低软件的复杂度。<> 是经典的书,作者是 Erich Gamma、...
2019-08-07 11:50:00
74
转载 DesignPattern系列__08UML相关知识
前言现在,很少有人和90年代一样,自己去实现一个软件的各个方面,也就是说,在工作中,和人沟通是必备的技能。那么,作为一枚码农,如何和他人沟通呢?这就要依靠本文的主题了——UML。简介UML——Unified modeling language UML(统一建模语言),是一种用于软件系统分析和设计的语言工具,它用于帮助软件开发人员进行思考和记录思路的结果。UML本身是一套符号的规定,...
2019-08-06 22:21:00
146
转载 DesignPattern系列__07合成复用原则
基本介绍合成复用原则的核心,就是尽量去使用组合、聚合等方式,而不是使用继承。核心思想1.找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。2.针对接口编程,而不是针对实现编程。3.为了交互对象之间的松耦合设计而努力。转载于:https://www.cnblogs.com/JackHou/p/11311909.html...
2019-08-06 21:17:00
104
转载 DesignPattern系列__06迪米特原则
迪米特原则定义迪米特原则,也叫最少知道原则,即一个类应该对自己依赖的类知道的越少越好,而你被依赖的类多么复杂,对我都没有关系。也就是说,对于别依赖的类来说,不管业务逻辑多么复杂,都应该尽量封装在类的内部;对外除了必备的public方法,不再泄露任何信息。1.问题由来我们知道,类和类是有耦合关系的,关系越密切的两个类之间,其耦合关系越大。2.对应措施迪米特原则要求:一个类应该只和...
2019-08-06 18:59:00
110
转载 DesignPattern系列__05开闭原则
介绍开闭原则是编程设计中最基本、最重要的原则。定义:一个软件实体如类、方法和模块等,应该对扩展(提供方)开放,对修改(使用方)关闭。用抽象构建框架,用实现扩展细节。也就是说,在需求发生新的变化时,我们不应该修改原来的代码,而应该通过扩展来满足新的需求。例子引入我们要实现一个画图的功能,能够画出圆形、矩形、三角形等,最常见的思路就是利用面向对象的思想,抽象出一个所有图形对象的基类...
2019-08-05 16:48:00
97
转载 DesignPattern系列__04里氏替换原则
1.内容引入——继承体系的思考在继承中,凡是在父类已经实现的方法,其实算是一种契约或者规范,子类不应该在进行更改(重写);但是,由于这一点不是强制要求,所以当子类进行重写的时候,就会对继承体系产生破坏。同时,继承带来便利的时候,也有弊端:给程序带来了侵入性,增加了对象之间的耦合性,可移植性低。当你修改基类时,子类都需要进行相应的修改。那么,如何能够保持继承的优点,同时减少缺点对程序...
2019-08-05 11:23:00
80
转载 DesignPattern系列__03依赖倒置原则
依赖倒置原则(Dependence Inversion Priiciple,DIP)介绍High level modules should not depend upon low level modules. Both should depend upon abstractions. Abstractions should not depend upon details. Detat...
2019-08-05 11:06:00
106
转载 DesignPattern系列__02接口隔离原则
介绍客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小接口上。Demo引入先来看一张图:interface MyInterface { void operation1(); void operation2(); void operation3(); void operation4(); void operat...
2019-08-04 21:25:00
80
转载 DesignPattern系列__01单一职责原则
单一职责原则单一职责原则:一个类应该只有一个原因引起改变,即一个类应该只负责一个业务逻辑。问题由来:类T负责t1, t2两个职责,当因为t1j对类T修改的时候,可能导致类T出现问题而影响职责t2。解决方案:遵循单一职责原则,将类T进行改写,确保一个类负责一个职责。demo:有一个类Animal,具有方法breath功能,一般的思路是这样子设计的:class Animal {...
2019-08-01 17:08:00
85
转载 Spiring系列__03IOC补充
这篇文章是对前一篇的一些补充:1.SpringIOC容器可以管理Bean的生命周期:通过构造器或工厂方法创建bean的实例;为bean属性设置值或者引入其他bean;调用bean的初始化方法,此时bean就可以使用了;容器关闭时,调用bean的清理方法。在bean的声明里定义init-method和的story-method,来定义bean的初始化方法和销毁方法。2.be...
2019-04-12 16:20:00
104
转载 Spring系列__02IOC模块简介
Spring的两大核心功能就是IoC和AOP,这篇文章主要介绍IoC。简单来说,在面向对象思想下,A类中有一个B类的属性, 那么我们在创建A类时往往需要同时创建一个B类的对象,以便A类对其进行调用。但是,这样的后果便是,A类和B类的耦合度过高。而所谓的IoC(控制反转),其核心是DI,旨在提供一种更简单的机制来设置组件依赖项(通常称为对象的协作者),并在整个生命周期中管理这些依赖项。I...
2019-04-11 15:36:00
116
转载 Spring系列__01HelloWorld
Spring作为一款成熟的Java框架,其优点和意义不用我多说,可以参考:https://m.w3cschool.cn/wkspring/pesy1icl.html今天开始写一下Spring家族的总结。首先,按照惯例,先来一个hello world:1.新建一个项目我这里采用是maven的方式创建了父项目,然后在其下创建不同的module,好处是便于管理。不过你可以只创建一个普通...
2019-03-27 15:24:00
71
转载 MyBatis3系列__06查询的几点补充
关于查询的一点补充:当查询部门信息时,希望查询该部门下的所有员工,下面会采取两种方式实现:1.联合查询public Department getDeptWithEmpById(Integer id);对应的xml文件中新增: <resultMap id="myDept" type="com.mybatis.learn.bean.Department"> ...
2019-03-24 09:34:00
54
转载 Python3系列__01Python安装
Python和Java一样是跨平台的,它可以运行在Windows、Mac和各种Linux/Unix系统上。所以你在一个平台上面上写的代码在另一个平台仍能正常运行。要学习Python编程,你需要做的就是安装Python解释器(Java也是一样)。安装后,你会得到Python解释器(就是负责运行Python程序的),一个命令行交互环境,还有一个简单的集成开发环境。2.x还是3.xPyt...
2019-03-23 18:23:00
76
转载 MyBatis3系列__Demo地址
一直光写博客了,并且感觉贴代码有点麻烦,但是以后的博客也尽量说的清楚,此外,觉得贴一下demo会好一些:当然了,需要能够翻墙哈,如果不能翻墙的话建议百度或者参考这个:https://secure.shadowsocks.ch/OK,前面都是铺垫,代码地址奉上https://github.com/houyuanbin/Blog/tree/master/mybatisLearn转...
2019-03-23 17:47:00
47
转载 MyBatis3系列__05查询补充&resultMap与resultType区别
1.查询补充当你查询一条记录并且是简单查询时,情况相对简单,可以参考以下的例子:public Employee getEmpById(Integer id);对应的xml文件中: <select id="getEmpById" resultType="com.mybatis.learn.bean.Employee"> select id, last_name...
2019-03-23 16:22:00
79
转载 MyBatis3系列__04CRUD以及参数处理
本文将会简单介绍一下MyBatis的CRUD以及结合源码讲解一下MyBatis对参数的处理。作为一个ORM框架,最基本的使用也就是CRUD了,MyBatis提供了两种方法:xml配置文件和动态注解。个人推荐xml配置文件,方式毕竟注解方式还是要将sql写在代码中,并且动态查询的时候还用嵌套script标签,相当麻烦,扯远了,回归主题。1.CRUD 创建一个dao接口,定义方法:...
2019-03-22 17:46:00
55
转载 MyBatis3系列__03几个常用的属性配置
本文主要讲几个xml配置属性: 其都写在mybatis配置文件中1.properties属性:其作用主要是可以动态引进外部的配置文件中的相关配置 resource:引入类路径下的资源 url:引入网络路径或者磁盘路径下的资源 <properties resource="dbconfig.properties"></properties>并...
2019-03-21 11:55:00
93
转载 MyBatis3系列__02接口式编程
hello worldMyBatis3支持面向接口编程:具体做法如下,将helloWorld中的EmployeeMapper.xml文件进行更改:<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN...
2019-03-20 21:43:00
69
转载 MyBatis3系列__01HelloWorld
# MyBatis作为一个ORM框架,其重要程度不用过多介绍。下面开始一起学习吧:本博客的编程方法与MyBatis官方文档基本一致:## 1.创建一个数据库mybatis_learn以及对应的表tbl_employee:`CREATE DATABASE mybatis_learn;````CREATE TABLE `tbl_employee` ( `id` int(11) NOT NU...
2019-03-20 20:15:00
99
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人