springboot打包
面向对象六大设计原则
开闭原则(Open Closed Principle)
- 核心思想是:对扩展开放,对修改关闭。
- 也就是说,对已经使用的类的改动是通过增加代码进行的,而不是修改现有代码。
单一职责原则(Single Responsiblity Principle)
其实就是开发人员经常说的”高内聚,低耦合”
也就是说,每个类应该只有一个职责,对外只能提供一种功能,而引起类变化的原因应该只有一个。
在设计模式中,所有的设计模式都遵循这一原则。
里式替换原则(Liskov Substitution Principle)
核心思想:在任何父类出现的地方都可以用它的子类来替代。
也就是说,同一个继承体系中的对象应该有共同的行为特征。
依赖倒转原则(Dependency Inversion Principle)
核心思想:要依赖于抽象和接口,不要依赖于具体实现。
其实就是说:在应用程序中,所有的类如果使用或依赖于其他的类,则应该依赖这些其他类的抽象类或者接口,而不是直接依赖这些其他类的具体类。
为了实现这一原则,就要求我们在编程的时候针对抽象类或者接口编程,而不是针对具体实现编程。
接口分离原则(Interface Segregation Principle)
核心思想:不应该强迫程序依赖它们不需要使用的方法。
其实就是说:一个接口不需要提供太多的行为,一个接口应该只提供一种对外的功能,不应该把所有的操作都封装到一个接口中。
迪米特原则(最少认知原则,Principle of Least Knowledge)
核心思想:一个对象应当对其他对象尽可能少的了解
其实就是说:降低各个对象之间的耦合,提高系统的可维护性。在模块之间应该只通过接口编程,而不理会模块的内部工作原理,它可以使各个模块耦合度降到最低,促进软件的复用。
一。什么是设计模式:
针对开发过程中常见问题提出通用解决方案 二。学习设计模式好处 1.便于查看高级框架源码
2.增加解决问题的能力 三。适配器设计模式: 1.解决何种问题: 解决接口与接口实现类之间继承矛盾问题 2.适配器设计模式特征:
1)使用抽象类分离了接口与【接口实现】
2)抽象类分摊接口中需要常用的方法
3)使得【接口实现类】像逛超市一样,可以随意选择
接口中的方法来实现 3.参考Servlet规范中GenericServlet
四 模板设计模式:
1.解决何种问题: 让父类控制子类方法的调用顺序 2.模板设计模式好处: 开发人员在开发时,只需要考虑方法的实现。
不需要考虑方法在何种情况下被调用
五。代理模式: 1.解决何种问题:将【次要业务】和【主要业务】解耦合 2.【次要业务】和【主要业务】区分: 【次要业务】:起到辅助功能,辅助【主要业务】顺利实现。
在项目 【次要业务】往往大量重复出现 【主要业务】:主要任务。 3.【次要业务】对于开发效率影响: 1)加载驱动类。 【次要业务】
2)建立连接通道 【次要业务】
3)建立数据库操作对象 【次要业务】 4)推送sql命令到数据库执行并返回处理结果 [主要业务] 5)销毁con,statement,rs【次要业务】 4.代理模式本质: 行为监听 代理对象 $proxy InvocationHandler <input type="button" onclick="fun1"> 5.代理模式组成: 1) 接口:声明需要被监听行为
2)代理实现类(InvocationHandler): 次要业务 次要业务和主要业务绑定执行
3)代理对象(监听对象) 6.业务: 饭前便后要洗手 【主要业务】:吃饭,便便
【次要业务】:洗手 7.Java代理模式多级代理----MyBatis 螳螂捕蝉,黄雀在后 蝉吃树脂
螳螂吃蝉
黄雀吃螳螂
springboot打包的更多相关文章
- springboot 打包
springboot 打包 先clean 然后 maven package 通过命令java -jar target/GoshenWepPro-0.1.0.jar运行程序
- springboot打包不同环境配置与shell脚本部署
本篇和大家分享的是springboot打包并结合shell脚本命令部署,重点在分享一个shell程序启动工具,希望能便利工作: profiles指定不同环境的配置 maven-assembly-plu ...
- SpringBoot打包成war
关于SpringBoot打成jar包以及jar包如何在Linux持久运行,我在前面已经说过了,所以本次不再赘述. 关于SpringBoot打包成war,其实步骤特别简单,如下图所示(如果是jar,通常 ...
- springboot打包去除资源文件,启动时指定配置文件位置,使用log4j2替换默认logback
springboot打包时,去掉资源文件 <build> <resources> <resource> <directory>src/main/reso ...
- springboot打包成war后部署项目出现异常 LifecycleException: Failed to start component
完整异常:org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].Sta ...
- springboot打包成jar包后找不到xml,找不到主类的解决方法
springboot打包成jar包后找不到xml,找不到主类的解决方法 请首先保证你的项目能正常运行(即不打包的时候运行无误),我们在打包时经常遇到如下问题: springboot打包成jar包后找不 ...
- SpringBoot 打包为Docker进行
可以有两种方式: 1.dockerfile 2.maven docker 第一种方式:通过dockerfile打包Docker镜像 1.将dockerfile和 springboot打包的jar文件放 ...
- 聚合maven+spring-boot打包可执行jar
整整搞了一天,终于解决这个问题了.这里是四个module,module之间存在依赖,打包两个可执行jar,看下最终效果吧 聚合maven+spring-boot的搭建很简单,和普通的聚合maven没有 ...
- 关于springboot 打包问题 jar包和 war包
起因:项目开发完成 需要打包部署了 发现自己不会打包 那么开始网上学习打包? 那么怎么来打包那? 我们以前没有采用springboot 时候我们都是直接将项目打成war包形式 然后放到tomc ...
- Springboot打包执行源码解析
一.打包 Springboot打包的时候,需要配置一个maven插件[spring-boot-maven-plugin] <build> <plugins> <plugi ...
随机推荐
- MongoDB从3.0.6升级到MongoDB3.4.9
最初进入公司的时候,有些爬虫数据需要存储在mongo数据库里面,当时看到最新的数据库版本是3.0.6,现在公司开展了新的项目需要使用到Mongo,使用到了Mongo的一些表关联查询的方法,但是只有在最 ...
- 关于STM32 ADC自校准的个人理解
前几天发过一篇帖子,叫:关于STM32 ADC自校准的个人理解文章大体说的是自校准前要先将ADON位置1,之后再校准. 本以为彻底的了解了自校准的过程,但是昨天晚上无意间看到了一个函数说明,不禁愁云又 ...
- Ribbon 常用配置
配置参数 默认值 说明 <client>.<namespace>.listOfServers 配置服务器列表 <client>.<namespace>. ...
- A* search算法
今天,还是国庆和中秋双节的时间节点,一个天气不错的日子,孩子已经早早的睡觉了,玩了一整天,也不睡觉,累的实在扛不住了,勉强洗澡结束,倒床即睡着的节奏... 不多说题外话,进入正题. 什么是A*搜索算法 ...
- WPF Demo14 依赖属性
using System.Windows; namespace DependencyPropertyDemo1 { public class Student:DependencyObject { pu ...
- 细看Thread的 start() 和 run()方法
1.start(): 我们先来看看API中对于该方法的介绍: 使该线程开始执行:Java 虚拟机调用该线程的 run 方法. 结果是两个线程并发地运行:当前线程(从调用返回给 start 方法)和另一 ...
- 黄聪:Pjax 无刷新开发web,更好用户体验
什么Ajax.Pjax.Njax...神马玩意? 有Njax吗? 木有...不过真有Pjax!! 其实pjax就是用到了html5的新history api: pushState和replaceSta ...
- pandas的离散化,面元划分
pd.cut pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=, include_lowest=False) ...
- go中的make和new的区别
适用范围:make 只能创建内建类型(slice map channel), new 则是可以对所有类型进行内存分配 返回值: new 返回指针, make 返回引用 填充值: new 填充零值, m ...
- [UE4]增加机器人
一.新增蓝图继承自Shooter名为AIShooter.玩家角色也是继承自Shooter. 二.使用AIMoveTo追踪玩家.玩家控制的角色调用这个方法没反应. 三.关卡中添加组件NavMeshBou ...