一文足够,SpringBoot自动装配底层源码 首先明白一个概念,什么是自动装配我们在项目中建一个yaml或者properties文件,里面配置一些参数,如redis,在pom中引入启动器,之后就能用redis,自动把这些集成到spring中,这就是自动装配先来提前剧透加载spring.factories文件标记好启动类解析启动类的注解加载EnableAutoConfiguration
7.1 微服务-SpringCloud(二) SpringCloud组件使用套路,三步走引入组件的启动器覆盖默认配置在引导类上添加注解,开发相关组件重点理解SpringCloud这些组件的使用细节,知道每个阶段出现的注解,它们的顺序以及具体功能Hystrix,,英文意思是豪猪,是一种保护机制。Hystrix也是Netflix公司的一款组件。Hystix作用:Hystix是Netflix开源的一个延迟和容错库,用于隔离访问远程服务、第三方库,防止出现级联失败。Fein ,[feɪn],假装,伪装。
7.1 微服务-SpringCloud Java架构的演变_想了好久才取了这的博客-CSDN博客SpringCloud是Spring旗下的项目之一,官网地址:http://projects.spring.io/spring-cloud/Spring最擅长的就是集成,把世界上最好的框架拿过来,集成到自己的项目中。SpringCloud也是一样,它将现在非常流行的一些技术整合到一起,实现了诸如:配置管理,服务发现,智能路由,负载均衡,熔断器,控制总线,集群状态等等功能。Eureka:服务治理组件,包含服务注册中心,服务注册与发现机制的实现。
6.5 工具-ElasticSearch(二) analysis(只是一个概念),文本分析是将全文本转换为一系列单词的过程,也叫分词。analysis是通过analyzer(分词器)来实现的,可以使用Elasticsearch内置的分词器,也可以自己去定制一些分词器。除了在数据写入的时候将词条进行转换,那么在查询的时候也需要使用相同的分析器对语句进行分析。1. Character Filter: 将文本中html标签剔除掉。2. Tokenizer: 按照规则进行分词,在英文中按照空格分词。
6.5 工具-ElasticSearch Elasticsearch([ɪˈlæstɪk sɜːtʃ])是一个基于的开源搜索分析引擎。底层基于Lucene(['lusen]无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能搜索、分析海量数据Elasticsearch 是一个文档型的,以用于搜索各种文档。
6.6 工具-ELK安装 Logstash是一个开源的服务器端数据处理管道,可以同时从多个数据源获取数据,并对其进行转换,然后将其发送到你最喜欢的“存储”。下载后解压目录,将movies.csv文件拷贝到指定的目录(随便创建一个文件夹如:D:/logstash-datas/)下。进入到Logstash的解压目录,进入到config目录下,新建logstash.conf。下载后解压进入到bin目录下,双击elasticsearch.bat,即可启动。在命令行进入到logstash的bin目录下,输入如下命令启动Logstash。
6.4 工具-RabbitMQ RabbitMQ是用Erlang实现的一个高并发高可靠AMQP消息队列服务器。支持消息的持久化、事务、拥塞控制、负载均衡等特性,使得RabbitMQ拥有更加广泛的应用场景。常见的MQ:ActiveMQ,RocketMQ,Kafka,RabbitMQ。语言的支持:ActiveMQ,RocketMQ只支持Java语言,Kafka可以支持多门语言,RabbitMQ支持多种语言。效率方面:ActiveMQ,RocketMQ,Kafka效率都是毫秒级别,RabbitMQ是微秒级别的。消息丢失,消息重复问题
6.3 工具-Docker Docker是一个开源的应用容器引擎,Docker会将应用和依赖打包为镜像.Docker可以将应用程序打包到容器中,容器包含了应用程序的代码、运行环境、依赖库、配置文件等资源,通过容器就可以实现方便快速并且与平台解耦的自动化部署方式,无论你部署时的环境如何,容器中的应用程序都会运行在同一种环境下Docker与面向对象Docker面向对象容器对象镜像类镜像类似类,跑起来的镜像才是一个容器。
4.8 JavaEE-SpringBoot 众所周知 Spring 应用需要进行大量的配置,各种 XML 配置和注解配置让人眼花缭乱,且极容易出错,因此 Spring 一度被称为“配置地狱”。为了简化 Spring 应用的搭建和开发过程,出现了一套全新的开源的框架,它就是 Spring Boot。Spring Boot 具有 Spring 一切优秀特性,Spring 能做的事,Spring Boot 都可以做,而且使用更加简单,功能更加丰富,性能更加稳定而健壮。
4.7 深入理解Spring BeanDefinition是相当重要的BeanDefinition:封装了bean的定义信息,决定一个bean是怎么生产的,一个bean对应一个BeanDefinition那么这个BeanDefinition是怎么来的呢?当我们new ApplicationContext时会传入一个xml文件。不同的sapring上下文会传入不同的,读取bean定义的过程是有些不同的,但也有相同的地方。方式一:ClassPathXmlApplicationContext(xml);
5 项目部署 外部用户无法访问,开发人员使用,版本变动很大平时大家大多是在Windows或者Mac操作系统下去编写代码进行开发.在开发环境中安装大量的软件,这样会导致环境的稳定性和安全性降低,因此项目部署环境一般采取linux系统,如本例使用的为centos 7版本。
毕设-旅游管理系统 技术:Spring,SpringMVC、MyBatis、mysql、IDEA、SpringSecurity、AdminLTE。角色表通过role_permission与权限表关联。员工通过users_role表与角色表关联。产品表与订单表关联,订单表与会员表关联。员工、角色、权限表为3个基本表。创建product的pojo类。创建member的pojo类。如有有毕设疑问可在评论区评论。
2.3 数据库-深入理解 在CPU访问寄存器时,都趋于聚集在一片连续的区域中,这就被称为局部性原理。局部性原理又分为时间局部性(temporal locality) 和空间局部性 (spatial locality) 。时间局部性:如果程序中的某条指令一旦执行,不久以后该指令可能再次执行;如果某数据被访问过,不久以后该数据可能再次被访问。产生时间局部性的典型原因,是由于在程序中存在着大量的循环操作。简单来说:被引用过一次的存储器位置在未来会被多次引用空间局部性:一旦程序访问了某个存储单元,在不久之后,其附近的存储单元也将被访
4.6JavaEE-SpringMVC SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 中。SpringMVC 已经成为目前最主流的MVC框架之一。它通过一套注解,让一个简单的 Java 类成为处理请求的控制器,而无须实现任何接口。
4.5 JavaEE-SpringTemplate与Spring、MyBatis整合 Spring 框架对 JDBC 进行封装,使用 JdbcTemplate 方便实现对数据库操作,持久层框架4.5.2.1.1详细事务知识点 【点击跳转 《2.1数据库-MySQL》】Spring 支持两种事务方式,分别是编程式事务和声明式事务,常使用声明式事务(注解方式)Spring通过事务管理器、事务管理类的实现类来管理事务Spring的事务是一个统一的模型(1)指定要使用的事务管理器实现类,使用(2)指定哪些类,哪些方法需要加入事务的功能。