- 博客(14)
- 收藏
- 关注
原创 设计模式三:抽象工厂模式
抽象工厂模式 Provide an interface for creating families of related or dependent objects without specifying their concrete classes. ——GoF 意即: 为创建一组相关或相互依赖的对象提供一个接口,而且无需制定它们的具体类 抽象工厂模式属于对象的创建型模式,又称为工具箱(Kit或ToolKit)模式。 不管是简单工厂模式,还是工厂方法模式,都有一个缺陷,那就是整个模式当中只能有一个抽象产品
2021-02-07 16:43:21
664
原创 Spring容器装配组件的5种方式
1. 配置文件<bean>标签 spring配置文件中配置bean标签 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springfr
2021-02-04 17:37:09
371
原创 设计模式二:工厂模式
从简单工厂模式到工厂方法模式 从设计模式的类型上来说,简单工厂模式属于创建型模式,又叫作静态工厂模式,但不属于GoF的23种设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例,被创建的实例通常都具有共同的父类。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是工厂方法模式和抽象工厂的基础和初步实现。其主要目的是: 不向客户透露对象实例化的细节 通过通用接口创建对象 简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的
2021-02-03 21:24:32
734
原创 设计模式一:单例模式
设计模式并不局限于某种语言,java,php,c++ 都有设计模式.。设计模式主要分为三种类型,一共23种。 创建型模式:单例模式、抽象工厂模式、原型模式、建造者模式、工厂模式 结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式 行为型模式:模版方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模式、策略模式、职责链模式(责任链模式) 单例模式 所谓类的单例设计模式,就是采取一定的方法保证在整个的
2021-02-02 21:09:11
614
原创 软件设计的“七宗罪”及设计模式的七大原则
编写软件过程中,面临着来自耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性等多方面的挑战,设计模式是为了让程序,具有更好的代码重用性、可读性、可扩展性、可靠性,使程序呈现高内聚低耦合的特性。 软件设计的“七宗罪”: 僵化性 脆弱性 牢固性 粘滞性 不必要的重复 不必要的复杂性 晦涩性 1. 僵化性 僵化性是指难以对软件进行改动,即使是简单的改动。如果单一的改动会导致有依赖关系的模块中的连锁改动,那么设计就是僵化的。必须要改动的模块越多,设计就越僵化。 2. 脆弱性 脆弱性是指在进行一个改动时,程序的
2021-02-02 16:41:05
886
原创 UML类图简介及类与类之间的关系
UML(Unified Modeling Language,统一建模语言)建模是面向对象开发设计方法中的第一步,用UML来表达设计模式不仅方便了开发人员的交流,而且更加清晰、准确。UML定义了5类10种模型图,每种图都有其不同的目的,说明了不同实体集合之间的关系,如下表: 由于在设计模式中会大量的用到类图,所有这里只对类图进行简单的介绍 UML类图中的基本元素符号 1. 类 类的UML图有3部分组成。 第一个部分是定义的类名,如果类名是用斜体字形表示,则表示该类是抽象类,否则就是具体的类。 第二部分是属
2021-02-02 16:33:23
3004
原创 Spring注解-@Conditional
@Conditional:根据条件注册组件 创建bean对象 public class Computer { private String name; private String version; /* ... */ } 创建自动配置类 @Configuration public class MyConfig { @Bean @Conditional(WindowsCondition.class) public Computer windows
2021-02-01 17:58:43
179
原创 java泛型与常用集合框架
一、泛型 Java泛型是jdk 1.5中引入的一个新特性。泛型是对Java原有的类型系统的一种扩展,其本质是参数化类型,把类型作为参数传递。 常见的泛型有泛型类、泛型接口、泛型方法 语法:<T, …> T称为类型占位符,表示一种引用类型 使用泛型的好处: 编译时检查类型安全,防止类型转换异常,提高代码的安全性 所有的强制转换都是自动的和隐式的,提高代码的重用性 1.1 泛型类的使用 /** * 泛型类 * 语法:类名<T> * 描述:T是类型占位符,表示一种引用类型,可以写
2021-01-19 19:37:22
322
原创 Spring JdbcTemplate操作mysql手动提交事务遇到的问题
问题描述:一个经典的转账问题 业务需求:数据表如下,现让tom向jerry转账100元,看一下能引发哪些问题 环境搭建:项目框架主要是spring,持久层框架暂时没用mybtis,用的是spring 的JdbcTemplate,连接池c3p0 项目结构: applicationContext.xml文件主要配置: <!--加载外部的properties配置文件--> <context:property-placeholder location="classpath:jd
2021-01-19 19:27:41
1001
原创 java反射、Class类对象
java反射 在了解反射之前,先看一下java代码在计算机中经历的三个阶段: 第一个阶段:源代码阶段,.java文件被编译为.class文件存放在硬盘上 第二个阶段:Class类对象阶段,类加载器将.class文件加载到内存中,成为一个Class类的实例。 第三阶段:运行时阶段,通过new创建对象 通过Class类对象的实例可获取到三个对象:Field(封装属性的有关信息)、Constructor(封装构造器的有关信息)、Method(封装方法的有关信息)。 Field常用的方法: 方法 描述
2021-01-19 19:18:08
275
原创 Java注解、自定义注解及元注解
基本概念 注解(Annotation),也叫元数据。一种代码级别的说明。JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明。 作用分类: 编写文档:通过代码里标识的注解生成文档(生成doc文档) 代码分析:通过代码里标识的注解对代码进行分析(使用反射机制) 编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查 注解的简单使用: /** * 注解的使用简单使用 * @author Adminis
2021-01-19 18:38:30
189
原创 idea使用maven创建spring项目导入jar包慢的三种解决方案
1. 创建项目时添加一个属性 name: archetypeCatalog value: internal 2. 设置VM Options为-DarchetypeCatalog=internal 注意,如果是从setting中设置的话,只是针对当前工程(For current project),这里需要把它设置为针对所有的工程(For new project(idea 2020)或For default project),idea 2020版本中为New Projects Settings -> S
2021-01-17 23:25:09
988
原创 idea使用maven骨架搭建Spring环境
目录 一、Maven的安装和配置 二、Spring框架的概念 三、快速搭建Spring项目 一、Maven的安装和配置 1.下载安装Maven 虽然Intellij IDEA已经包含了Maven插件,但最好还是能够安装自己的Maven插件,方便以后配置使用。可以通过Maven的官网http://maven.apache.org/download.cgi下载最新版的Maven。 Maven下载后解压即可。如解压到D盘,然后将Maven的安装路径D:\apache-maven-3.5.0\bin加入
2021-01-17 22:56:24
953
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1