![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java总结
本墨
这个作者很懒,什么都没留下…
展开
-
MyBatis3系列__01HelloWorld
MyBatis作为一个ORM框架,其重要程度不用过多介绍。 下面开始一起学习吧: 本博客的编程方法与MyBatis官方文档基本一致: 1.创建一个数据库mybatis_learn以及对应的表tbl_employee: CREATE DATABASE mybatis_learn; CREATE TABLE `tbl_employee` ( `id` int(11) NOT NULL AUTO...原创 2019-03-20 20:25:07 · 72 阅读 · 0 评论 -
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. Detatils s...原创 2019-08-05 13:58:35 · 66 阅读 · 0 评论 -
DesignPattern系列__05开闭原则
介绍 开闭原则是编程设计中最基本、最重要的原则。 定义:一个软件实体如类、方法和模块等,应该对扩展(提供方)开放,对修改(使用方)关闭。用抽象构建框架,用实现扩展细节。 也就是说,在需求发生新的变化时,我们不应该修改原来的代码,而应该通过扩展来满足新的需求。 例子引入 我们要实现一个画图的功能,能够画出圆形、矩形、三角形等,最常见的思路就是利用面向对象的思想,抽象出一个所有图形对象的基类Shape...原创 2019-08-05 16:53:16 · 84 阅读 · 0 评论 -
DesignPattern系列__06迪米特原则
迪米特原则定义 迪米特原则,也叫最少知道原则,即一个类应该对自己依赖的类知道的越少越好,而你被依赖的类多么复杂,对我都没有关系。也就是说,对于别依赖的类来说,不管业务逻辑多么复杂,都应该尽量封装在类的内部;对外除了必备的public方法,不再泄露任何信息。 1.问题由来 我们知道,类和类是有耦合关系的,关系越密切的两个类之间,其耦合关系越大。 2.对应措施 迪米特原则要求:一个类应该只和之间的直接...原创 2019-08-06 19:07:52 · 77 阅读 · 0 评论 -
DesignPattern系列__07合成复用原则
基本介绍 合成复用原则的核心,就是尽量去使用组合、聚合等方式,而不是使用继承。 核心思想 1.找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。 2.针对接口编程,而不是针对实现编程。 3.为了交互对象之间的松耦合设计而努力 ...原创 2019-08-06 21:18:23 · 66 阅读 · 0 评论 -
DesignPattern系列__10单例模式
单例模式介绍 单例模式,是为了确保在整个软件体统中,某个类对象只有一个实例,并且该类通常会提供一个对外获取该实例的public方法(静态方法)。 比如日志、数据库连接池等对象,通常需要且只需要一个实例对象,这就会使用单例模式。 单例模式的八种模式 饿汉式(静态常量) 饿汉式(静态代码块) 懒汉式(线程不安全) 懒汉式(同步方法) 懒汉式(同步代码块) 懒汉式(双重检查) 静态内部类 枚举 下面...原创 2019-08-09 10:51:04 · 105 阅读 · 0 评论 -
设计模式代码地址
设计模式代码地址: <git@github.com:houyuanbin/houyuanbin.github.io.git>原创 2019-08-09 13:38:02 · 103 阅读 · 0 评论 -
DesignPattern系列__08UML相关知识
前言 现在,很少有人和90年代一样,自己去实现一个软件的各个方面,也就是说,在工作中,和人沟通是必备的技能。那么,作为一枚码农,如何和他人沟通呢?这就要依靠本文的主题了——UML。 简介 UML——Unified modeling language UML(统一建模语言),是一种用于软件系统分析和设计的语言工具,它用于帮助软件开发人员进行思考和记录思路的结果。UML本身是一套符号的规定,就像数学符...原创 2019-08-07 11:43:10 · 82 阅读 · 0 评论 -
DesignPattern系列__09设计模式概述
设计模式介绍 设计模式是程序员在面对同类软件工程设计问题所总结出来的有用的经验,模式不是代码,而是某类问题的通用解决方案, 设计模(Design pattern)代表了最佳的实践。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。 设计模式的本质提高 软件的维护性,通用性和扩展性,并降低软件的复杂度。 <<设计模式>> 是经典的书,作者是 Erich...原创 2019-08-07 11:51:42 · 73 阅读 · 0 评论 -
DesignPattern系列__04里氏替换原则
1.内容引入——继承体系的思考 在继承中,凡是在父类已经实现的方法,其实算是一种契约或者规范,子类不应该在进行更改(重写);但是,由于这一点不是强制要求,所以当子类进行重写的时候,就会对继承体系产生破坏。 同时,继承带来便利的时候,也有弊端:给程序带来了侵入性,增加了对象之间的耦合性,可移植性低。当你修改基类时,子类都需要进行相应的修改。 那么,如何能够保持继承的优点,同时减少缺点对程序的影响呢?...原创 2019-08-05 13:57:10 · 72 阅读 · 0 评论 -
Spring系列__03IOC的一些补充
这篇文章是对前一篇的一些补充: 1.SpringIOC容器可以管理Bean的声明周期: 通过构造器或工厂方法创建bean的实例; 为bean属性设置值或者引入其他bean; 调用bean的初始化方法,此时bean就可以使用了; 容器关闭时,调用bean的清理方法。 在bean的声明里定义init-method和的story-method,来定义bean的初始化方法和销毁方法。 2.bean的后...原创 2019-04-12 16:31:24 · 86 阅读 · 0 评论 -
Spring系列__02IOC简介
Spring的两大核心功能就是IOC和AOP,这篇文章主要介绍IOC。 简单来说,在面向对象思想下,A类中有一个B类的属性, 那么我们在创建A类时往往需要同时创建一个B类的对象,以便A类对其进行调用。但是,这样的后果便是,A类和B类的耦合度过高。所谓的IOC(控制反转),或者其实现的方式DI(依赖注入)。 实质就是Spring容器负责来创建A类、B类的实例,并在用户使用的时候将引用提供给用户。这样...原创 2019-04-11 15:42:17 · 101 阅读 · 0 评论 -
MyBatis系列_02接口式编程
hello world MyBatis3支持面向接口编程: 具体做法如下,将helloWorld中的EmployeeMapper.xml文件进行更改: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...原创 2019-03-20 21:31:05 · 93 阅读 · 0 评论 -
MyBatis3系列__03几个常用的配置属性
本文主要讲几个xml配置属性: 其都写在mybatis配置文件中 1.properties属性:其作用主要是可以动态引进外部的配置文件中的相关配置 resource:引入类路径下的资源 url:引入网络路径或者磁盘路径下的资源 <properties resource="dbconfig.properties"></properties> 并且在类路...原创 2019-03-21 11:57:18 · 138 阅读 · 0 评论 -
MyBatis3系列__04CRUD以及参数处理
本文将会简单介绍一下MyBatis的CRUD以及结合源码讲解一下MyBatis对参数的处理。 作为一个ORM框架,最基本的使用也就是CRUD了,MyBatis提供了两种方法:xml配置文件和动态注解。个人推荐xml配置文件,方式毕竟注解方式还是要将sql写在代码中,并且动态查询的时候还用嵌套script标签,相当麻烦,扯远了,回归主题。 1.CRUD 创建一个dao接口,定义方法: pack...原创 2019-03-22 17:59:21 · 192 阅读 · 0 评论 -
MyBatis3系列__05查询补充&resultMap与resultType区别
1.查询补充 当你查询一条记录并且是简单查询时,情况相对简单,可以参考以下的例子: public Employee getEmpById(Integer id); 对应的xml文件中: <select id="getEmpById" resultType="com.mybatis.learn.bean.Employee"> select id, last_name last...原创 2019-03-23 16:28:12 · 158 阅读 · 0 评论 -
Python3系列__01Python安装
Python和Java一样是跨平台的,它可以运行在Windows、Mac和各种Linux/Unix系统上。所以你在一个平台上面上写的代码在另一个平台仍能正常运行。 要学习Python编程,你需要做的就是安装Python解释器(Java也是一样)。安装后,你会得到Python解释器(就是负责运行Python程序的),一个命令行交互环境,还有一个简单的集成开发环境。 2.x还是3.x Python有两...原创 2019-03-23 18:27:20 · 74 阅读 · 0 评论 -
MyBatis3系列__06查询的几点补充
关于查询的一点补充: 当查询部门信息时,希望查询该部门下的所有员工,下面会采取两种方式实现: 1.联合查询 public Department getDeptWithEmpById(Integer id); 对应的xml文件中新增: <resultMap id="myDept" type="com.mybatis.learn.bean.Department"> <...原创 2019-03-23 22:30:28 · 92 阅读 · 0 评论 -
Spring系列__01HelloWorld
Spring作为一款成熟的Java框架,其优点和意义不用我多说,可以参考:https://m.w3cschool.cn/wkspring/pesy1icl.html 今天开始写一下Spring家族的总结。 首先,按照惯例,先来一个hello world: 1.新建一个项目 我这里采用是maven的方式创建了父项目,然后在其下创建不同的module,好处是便于管理。不过你可以只创建一个普通的Java...原创 2019-03-27 15:33:26 · 100 阅读 · 0 评论 -
Spring系列__04AOP简介
AOP简介 今天来介绍一下AOP。AOP,中文常被翻译为“面向切面编程”,其作为OOP的扩展,其思想除了在Spring中得到了应用,也是不错的设计方法。通常情况下,一个软件系统,除了正常的业务逻辑代码,往往还有一些功能性的代码,比如:记录日志、数据校验等等。最原始的办法就是直接在你的业务逻辑代码中编写这些功能性代码,但是,这样除了当时开发的时候比较方便以外;代码的阅读性、可维护性都会大大降低。而且...原创 2019-09-17 14:52:17 · 116 阅读 · 0 评论