Spring设计模式
工厂模式
spring ioc的核心设计模式的思想体现,本身就是一个大的工厂,把所有的bean实例都放在了spring 容器里(大工厂),如果要使用bean就直接找spring容器就好了,自己不用创建对象。
C'est la vie
spring ioc的核心设计模式的思想体现,本身就是一个大的工厂,把所有的bean实例都放在了spring 容器里(大工厂),如果要使用bean就直接找spring容器就好了,自己不用创建对象。
创建和配置实例
刷新实例
Spring容器的启动流程如下,这是我在看源码过程中自己总结的流程图,如有错误,还望评论区指点:
接下来附上源码:
为什么是refresh方法命名,而不是init命名呢?
其实,在ApplicaitonContext建立起来之后,可以通过refresh进行重建,将原来的ac销毁,重新执行一次初始化操作,用refresh更加贴切。
Bean的创建和销毁
1、格式化编辑代码 Ctrl+Alt+L
2、sout 快速打印
一键格式化代碼: Ctrl+Alt+L
全局搜索替换:ctrl+shift+r
强大的搜索功能,shift+shift (无论您想要搜啥都能找到)
ctrl+shift+R==搜索类 CTRL+N:按照类名搜索类
【常规】
技术 | 版本 | 说明 |
---|---|---|
node | v10.16.0 | node编译环境 |
npm | 6.9.0 | npm包管理工具 |
Vue | 2.9.6 | 前端框架 |
Vue-router | 3.0.2 | 前端路由框架 |
Vuex | 3.1.0 | vue状态管理组件 |
Vue-cli | ———— | Vue脚手架 |
Element-ui | 2.7.0 | 前端UI框架 |
Echarts | 4.2.1 | 数据可视化框架 |
Uni-app | ———— | 跨平台前端框架 |
Mockjs | 1.0.1-beta3 | 模拟后端数据 |
Axios | 0.18.0 | 基于Promise的Http库 |
Js-cookie | 2.2.0 | Cookie组件 |
Jsonlint | 1.6.3 | Json解析组件 |
screenfull | 4.2.0 | 全屏组件 |
Xlsx | 0.14.1 | Excel表导出组件 |
Webpack | ———— | 模板打包器 |
技术 | 版本 | 说明 |
---|---|---|
Spring Cloud Netflix | Finchley.RELEASE | 分布式全家桶 |
Spring Cloud Eureka | 2.0.0.RELEASE | 服务注册 |
Spring Cloud Zipkin | 2.0.0.RELEASE | 服务链路 |
Spring Cloud config | 2.0.0.RELEASE | 服务配置 |
Spring Cloud Feign | 2.0.0.RELEASE | 服务调用 |
Spring Cloud Zuul | 2.0.0.RELEASE | 服务网关 |
Spring Cloud Hystrix | 2.0.0.RELEASE | 服务熔断 |
Spring Cloud Turbine | 2.0.0.RELEASE | 服务熔断监控 |
Spring Boot Admin | 2.0.1 | 服务监控 |
Spring Boot | 2.0.3.RELEASE | 容器+MVC框架 |
Spring Security | 5.1.4.RELEASE | 认证和授权框架 |
MyBatis | 3.4.6 | ORM框架 |
MyBatisGenerator | 1.3.3 | 数据层代码生成 |
PageHelper | 5.1.8 | MyBatis物理分页插件 |
Maven | 3.6.1 | 项目管理工具 |
Swagger2 | 2.7.0 | 交互式API文档 |
Elasticsearch | 6.2.2 | 搜索引擎 |
kibana | 6.2.2 | 数据分析和可视化平台 |
LogStash | 6.2.2 | 数据采集引擎 |
RabbitMq | 3.7.14 | 消息队列 |
Redis | 3.2 | 缓存 |
Druid | 1.1.10 | 数据库连接池 |
OSS | 2.5.0 | 对象存储 |
JWT | 0.9.1 | 跨域身份验证解决方案 |
Lombok | 1.18.6 | 简化对象封装工具 |
Junit | 4.12 | 单元测试框架 |
Logback | 1.2.3 | 日志框架 |
Java doc | ———— | API帮助文档 |
Docker | 18.09.6 | 应用容器引擎 |
Docker-compose | 18.09.6 | 容器快速编排 |
Spring的核心是IoC/DI的容器,它可以帮程序员完成组件之间的依赖关系注入,使得组件之间的依赖达到最小,进而提高组件的重用性,Spring是个低侵入性(invasive)的框架,Spring中的组件并不会意识到它正置身于Spring中,这使得组件可以轻易的从框架中脱离,而几乎不用任何修改,反过来说,组件也可以简单的方式加入至框架中,使得组件甚至框架的整合变得容易。
Spring最为人重视的另一方面是支持AOP(Aspect-Oriented Programming),然而AOP框架只是Spring支持的一个子框架,说Spring框架是AOP框架并不是一件适当的描述,人们对于新奇的 AOP关注映射至Spring上,使得人们对于Spring的关注集中在它的AOP框架上,虽然有所误解,但也突显了Spring的另一个令人关注的特色。
8种基本数据类型,其中4种整型,2种浮点类型,1种用于表示Unicode编码的字符单元的字符类型和1种用于表示真值的boolean类型。
int / short / long / byte / float / double / char / boolean
腾讯云是个好东西,对于Linux平台不是很熟悉的人而言,开始学习时候很方便,提供各种方便的在线管理方式,如重装系统等。由于版本升级和系统兼容问题,开发中遇到的问题都很琐碎,大概是码农的日常了吧。