SpringBoot
白夜行悟空
这个作者很懒,什么都没留下…
展开
-
一、SpringBoot之HelloWorld探究-自动配置原理
目录一、环境准备二、MAVEN设置三、创建Spring Boot的 HelloWorld程序四、Hello World探究1、POM文件2、主程序类,主入口类1.@SpringBootConfiguration:Spring Boot的配置类2.@EnableAutoConfiguration:开启自动配置功能一、环境准备环境约束–jdk1.8:Spri...原创 2018-09-18 12:25:04 · 480 阅读 · 0 评论 -
十、SpringBoot之配置嵌入式Servlet容器及其原理
一、如何定制和修改Servlet容器的相关配置1.修改Servlet容器的相关配置修改和server有关的配置(ServerProperties);//和server有关的配置@ConfigurationProperties( prefix = "server", ignoreUnknownFields = true)public class ServerProp...原创 2018-10-11 11:07:56 · 1826 阅读 · 0 评论 -
十七、SpringBoot之自定义starter
1.自定义场景启动器(starter)需要知道什么? 这个场景需要使用到的依赖是什么? 如何编写自动配置@Configuration //指定这个类是一个配置类@ConditionalOnXXX //在指定条件成立的情况下自动配置类生效@AutoConfigureAfter //指定自动配置类的顺序@Bean //给容器中添加组件@ConfigurationPro...原创 2018-10-16 15:27:55 · 243 阅读 · 0 评论 -
十九、SpringBoot之整合redis实现缓存
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。1、引入redis的start:spring-boot-starter-data-redis <dependency> <groupId>org.springframework.boot</groupId> ...原创 2018-10-22 15:34:28 · 226 阅读 · 0 评论 -
十八、SpringBoot之缓存的使用及原理
一、JSR-107Java Caching定义了5个核心接口,分别是CachingProvider, CacheManager, Cache, Entry和 Expiry。CachingProvider定义了创建、配置、获取、管理和控制多个CacheManager。一个应用可以在运行期访问多个CachingProvider。 CacheManager定义了创建、配置、获取、管理和控制多个...原创 2018-10-19 15:13:26 · 1058 阅读 · 1 评论 -
二十一、SpringBoot之RabbitMQ
一、RabbitMQ核心概念RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue Protocol)的开源实现。Message消息,消息是不具名的,它由消息头和消息体组成。消息体是不透明的,而消息头则由一系列的可选属性组成,这些属性包括routing-key(路由键)、priority(相对于其他消息的优先权)、delivery-mode(指出...原创 2018-10-25 17:52:55 · 2742 阅读 · 0 评论 -
二十二、SpringBoot之检索-Elasticsearch
一、检索我们的应用经常需要添加检索功能,开源的 ElasticSearch 是目前全文搜索引擎的首选。他可以快速的存储、搜索和分析海量数据。Spring Boot通过整合Spring Data ElasticSearch为我们提供了非常便捷的检索功能支持;Elasticsearch是一个分布式搜索服务,提供Restful API,底层基于Lucene,采用多shard(分片)的方式保证数据...原创 2018-10-30 12:09:17 · 671 阅读 · 0 评论 -
二十三、 SpringBoot之任务(异步、定时、邮件)
一、异步任务在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的;但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实,在Spring 3.x之后,就已经内置了@Async来完美解决这个问题。两个注解:@EnableAysnc、@AysncService@Servicepublic class AsyncServic...原创 2018-10-30 11:53:08 · 1020 阅读 · 1 评论 -
二十四、SpringBoot之安全Security
一、安全Spring Security是针对Spring项目的安全框架,也是Spring Boot底层安全模块默认的技术选型。他可以实现强大的web安全控制。对于安全控制,我们仅需引入spring-boot-starter-security模块,进行少量的配置,即可实现强大的安全管理。几个类:WebSecurityConfigurerAdapter:自定义Security策略 Aut...原创 2018-10-30 16:18:47 · 316 阅读 · 0 评论 -
二十、SpringBoot之消息服务中间件概述
1. 大多应用中,可通过消息服务中间件来提升系统异步通信、扩展解耦能力2. 消息服务中两个重要概念:消息代理(message broker)和目的地(destination)当消息发送者发送消息以后,将由消息代理接管,消息代理保证消息传递到指定目的地。3. 消息队列主要有两种形式的目的地:队列(queue):点对点消息通信(point-to-point) 主题(topic):发布...原创 2018-10-23 11:27:18 · 1662 阅读 · 0 评论 -
二十五、SpringBoot之分布式(Zookeeper和Dubbo、SpringBoot和SpringCloud)
一、分布式应用在分布式系统中,国内常用zookeeper+dubbo组合,而SpringBoot推荐使用全栈的Spring,SpringBoot+SpringCloud。分布式系统: 单一应用架构当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM)是关键。垂直应用架构当访问量逐渐增大,单一应用...原创 2018-11-01 11:33:08 · 5996 阅读 · 4 评论 -
二十六、SpringBoot之开发热部署
一、热部署在开发中我们修改一个Java文件后想看到效果不得不重启应用,这导致大量时间花费,我们希望不重启应用的情况下,程序可以自动部署(热部署)。有以下四种情况,如何能实现热部署。1、模板引擎在SpringBoot中开发情况下禁用模板引擎的cache,页面模板改变ctrl+F9可以重新编译当前页面并生效。2、Spring Boot Devtools(推荐)引入依赖<d...原创 2018-11-01 11:51:51 · 160 阅读 · 0 评论 -
八、SpringBoot之Web开发实战
一、简介使用SpringBoot:1、创建SpringBoot应用,选中我们需要的模块; 2、SpringBoot已经默认将这些场景配置好了,只需要在配置文件中指定少量配置就可以运行起来 3、自己编写业务代码;自动配置原理:1、xxxxAutoConfiguration:帮我们给容器中自动配置组件; 2、xxxxProperties:配置类来封装配置文件的内容;二、Restf...原创 2018-10-09 14:09:25 · 1197 阅读 · 0 评论 -
七、SpringBoot之SpringMVC自动配置原理
SpringMvc自动配置文档1、Spring MVC 自动配置Spring Boot 自动配置好了SpringMVC以下是SpringBoot对SpringMVC的默认配置:都在WebMvcAutoConfiguration.java这个类里自动配置了ViewResolver(视图解析器:根据方法的返回值得到视图对象(View),视图对象决定如何渲染,是转发还是重定向。例如:C...原创 2018-10-09 14:06:39 · 886 阅读 · 0 评论 -
六、SpringBoot之Thymeleaf模板引擎使用
市面上的模版引擎:JSP、Velocity、Freemarker、ThymeleafSpringBoot推荐的Thymeleaf:语法更简单,功能更强大;thymeleaf官网1、引入Thymeleaf<dependency> <groupId>org.springframework.boot</groupId> <art...原创 2018-10-09 14:05:21 · 306 阅读 · 0 评论 -
十一、SpringBoot之使用外置的Servlet容器及启动原理
一、嵌入式和外置Servlet容器对比嵌入式Servlet容器:应用打成可执行的jar优点:简单、便携;缺点:默认不支持JSP、优化定制比较复杂;外置的Servlet容器:外面安装Tomcat---应用war包的方式打包;二、使用外置的Servlet容器步骤1、必须创建一个war项目;(利用idea创建好目录结构)2、生成web目录和web.xml3...原创 2018-10-11 12:03:38 · 864 阅读 · 0 评论 -
十五、SpringBoot之数据访问整合SpringData JPA
1.SpringData简介2.整合SpringData JPAJPA:ORM(Object Relational Mapping 对象关系映射);1.编写一个实体类(bean)和数据表进行映射,并且配置好映射关系;//使用JPA注解配置映射关系@Entity //告诉JPA这是一个实体类(和数据表映射的类)@Table(name = "tbl_user") //@Tabl...原创 2018-10-15 18:35:18 · 265 阅读 · 0 评论 -
二、SpringBoot之使用向导快速创建SpringBoot应用
IDE都支持使用Spring的项目创建向导快速创建一个Spring Boot项目:新建一个项目输入项目名,包名之类的选择我们需要的模块,向导会联网创建Spring Boot项目按照相相关的pom.xml文件,把相关依赖都导入进来主程序自动生成好了,我们只需要我们自己的逻辑写一个Controller测试一下默认生成的Spring Boot项目:- r...原创 2018-09-21 14:13:45 · 685 阅读 · 0 评论 -
三、SpringBoot之配置方法和自动配置原理详解
目录一、配置文件二、YAML配置文件:1、基本语法2、值的写法三、配置文件值注入1、配置文件写法(以下介绍两种):2、javaBean(两种注入方式)3、pom.xml4.测试5、properties配置文件在idea中默认utf-8可能会乱码,调整方法四、@Value获取值和@ConfigurationProperties获取值比较五、@Prope...原创 2018-09-21 15:12:50 · 1354 阅读 · 0 评论 -
四、SpringBoot之日志使用原理
目录一、日志框架1、市面上的日志框架;2、日志框架的选择二、SLF4j使用原理1、如何在系统中使用SLF4j2、遗留问题三、SpringBoot日志关系四、日志使用;1、默认配置2、指定配置五、切换日志框架一、日志框架1、市面上的日志框架;JUL、JCL、Jboss-logging、logback、log4j、log4j2、slf4j....原创 2018-09-27 14:22:28 · 2422 阅读 · 4 评论 -
九、SpringBoot之错误处理机制原理
1、SpringBoot默认的错误处理机制默认效果: 1.浏览器,返回一个默认的错误页面浏览器发送请求的请求头: 2.如果是其他客户端,默认响应一个json数据 原理:可以参照ErrorMvcAutoConfiguration.java;错误处理的自动配置;ErrorMvcAutoConfiguration给容器中添加了以下组件 1.Defau...原创 2018-10-09 14:13:36 · 460 阅读 · 0 评论 -
十二、SpringBoot之数据访问JDBC配置及自动配置原理
1.JDBC配置pom.xml <!--引入mysql--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> ...原创 2018-10-15 18:32:17 · 1090 阅读 · 0 评论 -
十三、SpringBoot之数据访问整合Druid数据源
pom.xml <!-- 引入druid数据源--> <!-- https://mvnrepository.com/artifact/com.alibaba/druid --> <dependency> <groupId>com.alibaba</groupId>...原创 2018-10-15 18:33:15 · 224 阅读 · 0 评论 -
十四、SpringBoot之数据访问整合MyBatis
pom.xml <!--引入mybatis--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</arti...原创 2018-10-15 18:34:18 · 204 阅读 · 0 评论 -
十六、SpringBoot之启动原理
几个重要的事件回调机制配置在META-INF/spring.factories ApplicationContextInitializer SpringApplicationRunListener只需要放在ioc容器中 ApplicationRunner CommandLineRunner1.启动流程: public stati...原创 2018-10-16 13:50:44 · 188 阅读 · 0 评论 -
五、SpringBoot对静态资源的映射规则
1.所有 /webjars/** ,都去 classpath:/META-INF/resources/webjars/ 找资源;WebMvcAuotConfiguration.java public void addResourceHandlers(ResourceHandlerRegistry registry) { if (!this.resourcePrope...原创 2018-10-09 14:02:12 · 495 阅读 · 0 评论