boot

java从入门到放弃的知识

▼魔方 西西 提交于 2019-12-16 05:28:27
大家都知道 Github 是一个程序员福地,这里有各种厉害的开源框架、软件或者教程。这些东西对于我们学习和进步有着莫大的进步,所以我有了这个将 Github 上非常棒的 Java 开源项目整理下来的想法。我会按照几个维度对项目进行分类,以便大家查阅。当然,如果你觉得不错的话,欢迎给本项目点个 Star。我会用我的业余时间持续完善这份名单,谢谢🙏。 欢迎大家推荐自己觉得不错的 Java 项目,下面项目的排序很大程度是根据当前项目的 Star 数量。 教程 Java JavaGuide :【Java学习 面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。 CS-Notes :技术面试必备基础知识、Leetcode 题解、后端面试、Java 面试、春招、秋招、操作系统、计算机网络、系统设计。 advanced-java :互联网 Java 工程师进阶知识完全扫盲:涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识。 architect-awesome :后端架构师技术图谱。 toBeTopJavaer :Java工程师成神之路 。 tutorials :该项目是一系列小而专注的教程 - 每个教程都涵盖 Java 生态系统中单一且定义明确的开发领域。 当然,它们的重点是 Spring Framework - Spring,Spring Boot 和 Spring

面试官问:spring、springboot、springcloud的区别,如何回答?

不羁岁月 提交于 2019-12-16 00:47:52
可能某些项目还在使用dubbo,但是你也一定听过Spring Cloud。至于Spring和Spring Boot,对于现在的Java开发,它们的地位简直可以说是不可或缺了。如果你的新项目在使用Tomcat+WAR的开发模式(历史遗留项目暂且不谈),不好意思,真的要吐槽一下。 首先,我认为要完善一下这个题目,应该是: Spring 、 Spring Framework 、 Spring Boot 、 Spring Cloud 的区别。 Spring Spring 是一个生态体系(也可以说是技术体系),是集大成者,它包含了Spring Framework、Spring Boot、Spring Cloud等(还包括Spring Cloud data flow、spring data、spring integration、spring batch、spring security、spring hateoas),可以参考链接:https://spring.io/projects,如下图所示(部分截图): Spring Framework Spring Framework是整个spring生态的 基石 ,它可是硬生生的消灭了Java官方主推的企业级开发标准EJB,从而实现一统天下。Spring官方对Spring Framework简短描述:为依赖注入、事务管理、WEB应用

Spring Boot Actuator 整合 Prometheus

巧了我就是萌 提交于 2019-12-15 23:56:24
简介 Spring Boot 自带监控功能 Actuator,可以帮助实现对程序内部运行情况监控,比如监控状况、Bean加载情况、环境变量、日志信息、线程信息等。这一节结合 Prometheus 、Grafana 来更加直观的展示这些信息。 实验 说明 服务名 地址 端口 Prometheus 172.16.2.101 9090 Grafana 172.16.2.101 3000 Spring Boot Demo 172.16.2.204 8080 创建项目 创建用于测试的 Spring Boot 项目,主要代码如下。 pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-registry

什么是SpringBoot

我们两清 提交于 2019-12-15 23:56:13
随着动态语言的流行(Ruby,Groovy,Scala,Node.js),Java的开发显得格外的笨重;繁多的配置,低下的开发效率,复杂的部署流程以及第三方技术集成难度大. 在上述环境 下,Spring Boot应运而生.它使用"习惯优于配置"(项目中存在大量的配置,此外还内置一个习惯性的配置,让你无须手段进行配置)的理念让你的项目快速运行起来. 使用Spring Boot很容易创建一个独立运行(运行jar,内嵌Servlet容器),准生产级别的基于Spring框架的项目,使用Spring Boot你可以不用或者只需要很少的Spring配置. Spring Boot的优缺点 优点 : (1) 快速构建项目; (2) 对主流开发框架的无配置集成; (3) 项目可独立运行,无须外部依赖 Servlet容器; (4) 提供运行时的应用监控; (5) 极大地提高了开发,部署效率; (6) 与云计算的天然集成. 缺点 : (1) 书籍文档少且不够深入; (2) 如果你不认同Spring框架,这也许是它的缺点,但建议你一定要使用Spring框架. 快速入门 设置Spring boot的parent <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent<

spring cloud框架介绍

一笑奈何 提交于 2019-12-15 22:45:56
什么是微服务 微服务的概念源于2014年3月Martin Fowler所写的一篇文章“Microservices”。 微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够被独立地部署到生产环境、类生产环境等。另外,应尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建。 微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。 微服务架构优势 复杂度可控:在将应用分解的同时,规避了原本复杂度无止境的积累。每一个微服务专注于单一功能,并通过定义良好的接口清晰表述服务边界。由于体积小、复杂度低,每个微服务可由一个小规模开发团队完全掌控,易于保持高可维护性和开发效率。 独立部署:由于微服务具备独立的运行进程,所以每个微服务也可以独立部署。当某个微服务发生变更时无需编译、部署整个应用。由微服务组成的应用相当于具备一系列可并行的发布流程,使得发布更加高效

spring boot自定义starter

寵の児 提交于 2019-12-15 20:01:42
  使用spring boot开发微服务后,工程的数量大大增加(一定要按照领域来切,不要一个中间件客户端包一个),让各个jar从开发和运行时自包含成了一个重要的内容之一。spring boot starter就可以用来解决该问题(没事启动时别依赖于applicationContext.getBean获取bean进行处理,依赖关系太折腾,有时候在复杂系统中解决此事比较麻烦,需要修改开源框架代码才能实现,反过来修改开源源码后,维护也是个麻烦事)。言归正传,说说自定义starter。首先请熟悉 spring boot的核心理念 ,不然容易为了starter而starter,这种情况太多了。 创建一个maven项目,在pom文件中添加如下依赖: <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-autoconfigure</artifactId> <version>2.0.0.RELEASE</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring

全文检索ElasticSearch与Spring boot集成实例

筅森魡賤 提交于 2019-12-15 09:37:35
全文检索 1.全文搜索概念: (1)数据结构: ·结构化:只具有固定格式或者有限长度的数据,如数据库,元数据等 ·非结构化:指不定长或者无固定格式的数据,如邮件,word文档等 (2)非结构化数据的检索: ·顺序扫描法:适合小数据量文件 ·全文搜索:将非结构化的数据转为结构化的数据,然后创建索引,在进行搜索 (3)概念:全文搜索是一种将文件中所有文本域搜索项匹配的文件资料检索方式 2.全文搜索实现原理 3.全文搜索实现技术:基于java的开源实现Lucene,ElasticSearch(具有自身的分布式管理功能),Solr 4.ElasticSearch简介: 概念: (1)高度可扩展的开源全文搜索和分析引擎 (2)快速的,近实的多大数据进行存储,搜索和分析 (3)用来支撑有复杂的数据搜索需求的企业级应用 特点及介绍: (1)分布式 (2)高可用 (3)对类型,支持多种数据类型 (4)多API (5)面向文档 (6)异不写入 (7)近实时:每隔n秒查询,在写入磁盘中 (8)基于Lucene (9)Apache协议 5.ElasticSearch与Spring Boot集成 (1)配置环境:ElasticSearch,Spring Data ElasticSearch,JNA (2)安装ElasticSearch,下载包,解压直接启动即可

Spring Boot学习(二)—— 配置Druid连接池

安稳与你 提交于 2019-12-15 05:38:40
目录 要先配置上数据源!!! Druid简述: 一、搭建一个空壳Spring Boot项目 二、配置数据源 三、添加Druid依赖以及配置: 四、加密数据库password 关于Spring Boot整合Druid连接池最重要的一点就是: 要先配置上数据源!!! 不然,启动项目的时候会报错!!! 接下来就把 Spring Boot配置Druid需要的最少的依赖和代码贴出来,做个纪念吧! Druid简述: Druid的官方项目在GitHub上: https://github.com/alibaba/druid 里面有一些优点及配置的介绍,这玩意经过阿里巴巴双11的检验,性能上肯定没啥问题了! 一、搭建一个空壳Spring Boot项目 可参考: https://blog.csdn.net/weixin_42443070/article/details/103392421 二、配置数据源 我用的是mysql,所以在项目中要额外引入以下两个依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId

spring底层原理解析

泪湿孤枕 提交于 2019-12-15 05:06:52
​ 一、概念 1、Spring Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。可以接管web层,业务层,dao层,持久层的组件,并且可以配置各种bean,和维护bean与bean之间的关系。其核心就是控制反转(IOC),和面向切面(AOP) ,简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。 2、SpringMVC Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和 POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。 3、SpringBoot Springboot是一个微服务框架,延续了spring框架的核心思想IOC和AOP,简化了应用的开发和部署。Spring

springmvc和springboot的区别

扶醉桌前 提交于 2019-12-15 02:04:49
springmvc和springboot的区别 Spring 框架就像一个家族,有众多衍生产品例如 boot、security、jpa等等。但他们的基础都是Spring 的 ioc和 aop ioc 提供了依赖注入的容器 aop ,解决了面向横切面的编程,然后在此两者的基础上实现了其他延伸产品的高级功能。Spring MVC是基于 Servlet 的一个 MVC 框架 主要解决 WEB 开发的问题,因为 Spring 的配置非常复杂,各种XML、 JavaConfig、hin处理起来比较繁琐。于是为了简化开发者的使用,从而创造性地推出了Spring boot,约定优于配置,简化了spring的配置流程。 说得更简便一些:Spring 最初利用“工厂模式”(DI)和“代理模式”(AOP)解耦应用组件。大家觉得挺好用,于是按照这种模式搞了一个 MVC框架(一些用Spring 解耦的组件),用开发 web 应用( SpringMVC )。然后有发现每次开发都写很多样板代码,为了简化工作流程,于是开发出了一些“懒人整合包”(starter),这套就是 Spring Boot。 Spring MVC的功能 Spring MVC提供了一种轻度耦合的方式来开发web应用。 Spring MVC是Spring的一个模块,式一个web框架。通过Dispatcher Servlet,