- 博客(14)
- 资源 (2)
- 收藏
- 关注
原创 Lambda表达式
Java8新引入的语法糖 Lambda表达式*(关于lambda表达式是否属于语法糖存在很多争议,有人说他并不是语法糖,这里我们不纠结于字面表述)*。Lambda表达式是一种用于取代匿名类,把函数行为表述为函数式编程风格的一种匿名函数,这里再重申一下:Lambda表达式的执行结果是函数式接口的一个匿名对象(Lambda表达式的基本语法在初级课程已经讲过,在此不做赘述)。
2022-12-11 12:44:55
541
原创 Dubbo简介开发
Apache Dubbo 是一个高可用的,基于Java的开源RPC框架。 Dubbo框架不仅仅是具备RPC访问功能,还包含服务治理功能。
2022-12-11 12:40:35
324
原创 springboot源码解析(四):监听器
在看springboot的源码过程中,发现内部使用了大量的监听器,下面来看下监听器的作用。在springboot的监听器有如下两类:# Run Listeners#事件发布运行监听器,是springboot中配置的唯一一个应用运行监听器,作用是通过一个多路广播器,将springboot运行状态的变化,构建成事件,并广播给各个监听器org.springframework.boot.SpringApplicationRunListener=\org.springframework.boot.contex
2022-12-08 08:53:00
561
原创 springboot源码解析(三):springboot内嵌tomcat
在使用springboot搭建一个web应用程序的时候,我们发现不需要自己搭建一个tomcat服务器,只需要引入spring-boot-starter-web,在应用启动时会自动启动嵌入式的tomcat作为服务器,下面来分析下源码的分析流程:之前我们已经讲过了自动装配的原理,其实tomcat的实现机制也是从自动装配开始的。@Configuration(proxyBeanMethods = false)@AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE)@Con
2022-12-08 08:49:27
489
原创 spring的自动配置原理
springboot配置文件的装配过程1、springboot在启动的时候会加载主配置类,开启了@EnableAutoConfiguration。2、@EnableAutoConfiguration的作用:利用AutoConfigurationImportSelector给容器导入一些组件。查看selectImports方法的内容,返回一个AutoConfigurationEntryAutoConfigurationEntry autoConfigurationEntry = getAutoConfigu
2022-12-08 08:49:12
295
原创 springboot运行原理
springboot-boot-starter:就是springboot的场景启动器。springboot将所有的功能场景都抽取出来,做成一个
2022-12-07 10:21:54
99
原创 springboot源码(二):自动装配原理
在之前的课程中我们讲解了springboot的启动过程,其实在面试过程中问的最多的可能是自动装配的原理,而自动装配是在启动过程中完成,只不过在刚开始的时候我们选择性的跳过了,下面详细讲解自动装配的过程。1、在springboot的启动过程中,有一个步骤是创建上下文,如果不记得可以看下面的代码:public ConfigurableApplicationContext run(String... args) { StopWatch stopWatch = new StopWatch();
2022-12-07 10:19:26
143
原创 springboot源码解析(一):启动过程
@SpringBootApplicationpublic class StartupApplication { public static void main(String[] args) { SpringApplication.run(StartupApplication.class, args); }}当程序开始执行之后,会调用SpringApplication的构造方法,进行某些初始参数的
2022-12-07 10:17:07
188
原创 springboot配置数据源
Spring Framework 为 SQL 数据库提供了广泛的支持。从直接使用 JdbcTemplate 进行 JDBC 访问到完全的对象关系映射(object relational mapping)技术,比如 Hibernate。Spring Data 提供了更多级别的功能,直接从接口创建的 Repository 实现,并使用了约定从方法名生成查询。
2022-12-07 10:15:52
8148
2
原创 springboot web开发
springboot在开发web项目的时候具备天然的优势,现在的很多企业级开发都是依托于springboot的。使用springboot的步骤:1、创建一个SpringBoot应用,选择我们需要的模块,SpringBoot就会默认将我们的需要的模块自动配置好 2、手动在配置文件中配置部分配置项目就可以运行起来了 3、专注编写业务代码,不需要考虑以前那样一大堆的配置了。很多同学在刚接触web开发的时候第一个接触的都是servlet,下面我们来使用springboot整合servlet(1)编写serv
2022-12-07 10:13:54
143
原创 thymeleaf模板引擎的使用
在早期开发的时候,我们完成的都是静态页面也就是html页面,随着时间轴的发展,慢慢的引入了jsp页面,当在后端服务查询到数据之后可以转发到jsp页面,可以轻松的使用jsp页面来实现数据的显示及交互,jsp有非常强大的功能,但是,在使用springboot的时候,整个项目是以jar包的方式运行而不是war包,而且还嵌入了tomcat容器,因此,在默认情况下是不支持jsp页面的。如果直接以纯静态页面的方式会给我们的开发带来很大的麻烦,springboot推荐使用模板引擎。模板引擎有很多种,jsp,freemar
2022-12-07 10:12:24
761
原创 springboot配置文件详解
在之前的项目开发中,我们可以使用xml,properties进行相关的配置,这种配置方式比较简单,但是在应对复杂的商业需求下,多环境和编程化的配置无法得到满足,因此springboot为我们提供了YAML的配置方式丰富功能和简化开发。通常情况下,我们可以使用properties文件进行相关的配置。(1)在resources目录下创建application.propertiesperson.name=zhangsanperson.age=12person.gender=男person.desc=my
2022-12-07 10:11:01
249
原创 Java SPI机制详解
SPI 全称为 (Service Provider Interface) ,是JDK内置的一种服务提供发现机制。SPI是一种动态替换发现的机制, 比如有个接口,想运行时动态的给它添加实现,你只需要添加一个实现。我们经常遇到的就是java.sql.Driver接口,其他不同厂商可以针对同一接口做出不同的实现,mysql和postgresql都有不同的实现提供给用户,而Java的SPI机制可以为某个接口寻找服务实现。 如上图所示,接口对应的抽象SPI接口;实现方实现SPI接口;调用方依赖SPI
2022-12-07 10:07:57
257
原创 ElasticSearch概述安装
ES 是一个开源的高扩展的分布式全文搜索引擎,是整个Elastic Stack技术栈的核心。它可以近乎实时的存储,检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。 ElasticSearch的底层是开源库Lucene,但是你没办法直接用Lucene,必须自己写代码去调用它的接口,Elastic是Lucene的封装,提供了REST API的操作接口,开箱即用。天然的跨平台。 全文检索是我们在实际项目开发中最常见的需求了,而ElasticSearch是目前全文检索引擎的首选,它可以
2022-12-03 09:08:18
272
1
ionic 环境安装手册
2018-09-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人