SpringBoot教程
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。本专栏提供入门级的springboot学习,为之后的深入学习做铺垫
Wang-Junchao
这个作者很懒,什么都没留下…
展开
-
01-SpringBoot——Spring基础-依赖注入
01-SpringBoot——Spring基础-依赖注入【博文目录>>>】【项目源码>>>】【依赖注入】控制翻转(Inversion of Control-IOC)和依赖注入(dependency injection-DI)在Spring环境下是同等的概念,控制翻转是通过依赖注入实现的。所谓依赖注入是指容器负责创建对象和维护对象间的依赖关系,而不是通过对象本身去创建和解决自自己的依赖。依赖的主要目的原创 2017-07-25 08:01:30 · 2318 阅读 · 0 评论 -
02-SpringBoot——Spring基础-Java配置
02-SpringBoot——Spring基础-Java配置【博文目录>>>】【项目源码>>>】【Java配置】Java 配置是Spring 4.x 推荐的配置方式,可以完全替代xml 配置: Java 配置也是Spring Boot推荐的配置方式。Java 配置是通过@Configuration 和@Bean 来实现的。@Configuration 声明当前类是一个配置类,相当于一个Spring原创 2017-07-26 07:41:11 · 1403 阅读 · 1 评论 -
03-SpringBoot——Spring基础-AOP
AOP :面向切面编程,相对于OOP 面向对象编程。Spring 的AOP 的存在白的是为了解耦。AOP 可以让一组类共享相同的行为。在OOP 中只能通过继承类和实现接口,来使代码的耦合度增强,且类继承只能为单继承,阻碍更多行为添加到一组类上, AOP 弥补了OOP 的不足。Spring 支持AspectJ 的注解式切面编程。原创 2017-07-27 07:56:32 · 1106 阅读 · 0 评论 -
04-SpringBoot——Spring常用配置-Bean的Scope
Spring 的Scope 有以下几种,通过@Scope 注解来实现。 1. Singleton :一个Spring 容器中只有一个Bean 的实例,此为Spring 的默认配置,全容器共享一个实例。 2. Prototype :每次调用新建一个Bean 的实例。 3. Request: Web 项目中,给每一个http request 新建一个Bean 实例。 4. Session: Web 项目中原创 2017-07-29 06:34:21 · 9245 阅读 · 0 评论 -
05-SpringBoot——Spring常用配置-Spring EL和资源调用
Spring常用配置-Spring EL和资源调用【博文目录>>>】【项目源码>>>】【Spring EL和资源调用】Spring EL-Spring 表达式语言,支持在xml和注解中使用表达式,类似于JSP 的EL 表达式语言。Spring 开发中经常涉及谓用各种资源的情况,包含普通文件、网址、配置文件、系统环境变量等,我们可以使用Spring 的表达式语言实现资源的注入。Spring 主要在注解原创 2017-07-31 08:05:37 · 2818 阅读 · 0 评论 -
06-SpringBoot——Spring常用配置-Bean的初始化和销毁
在实际开发的时候,经常会遇到在Bean 在使用之前或者之后做些必要的操作, Spring对Bean 的生命周期的操作提供了支持。在使用Java 配置和注解配置下提供如下两种方式: (1) Java 配置方式:使用@Bean 的initMethod 和destroyMethod (相当于xml 配置的init-method 和destory-method )。 (2) 注解方式:利用JSR-250 的@Post原创 2017-08-01 07:40:59 · 6460 阅读 · 0 评论 -
07-SpringBoot——Spring常用配置-Profiles
Profile 为在不同环境下使用不同的配置提供了支持(开发环境下的配置和生产环境下的配置肯定是不同的,例如,数据库的配置)。 (1) 通过设定Environment 的ActiveProfiles 来设定当前context 需要使用的配置环境。在开发中使用@Profile 注解类或者方法,达到在不同情况下选择实例化不同的Bean。 (2) 通过设定jvm 的spring.profiles.active 参数来原创 2017-08-02 07:23:20 · 1130 阅读 · 0 评论 -
08-SpringBoot——Spring常用配置-事件
Spring 的事件( Application Event )为Bean 与Bean 之间的消息通信提供了支持。:当一个Bean 处理完一个任务之后,希望另外一个Bean 知道并能做相应的处理,这时我们就需要让另外一个Bean 监听当前Bean 所发送的事件。Spring 的事件需要遵循如下流程: (1)自定义事件,集成ApplicationEvent。 (2)定义事件监听器,实现ApplicationLi原创 2017-08-03 07:41:47 · 1100 阅读 · 0 评论 -
09-SpringBoot——Spring 高级话题-Spring Aware
Spring的依赖注入的最大亮点就是所有的Bean 对Spring 容器的存在是没有意识的。你可以将容器替换成别的容器,如Google Guice ,这时Bean 之间的耦合度很低。但是在实际项目中,你不可避免的要用到Spring 容器本身的功能资源,这时你的Bean 必须要意识到Spring 容器的存在,才能调用Spring 所提供的资源,这就是所谓的Spring Aware。原创 2017-08-04 07:18:44 · 2192 阅读 · 0 评论 -
10-SpringBoot——Spring 高级话题-多线程
Spring 通过任务执行器( TaskExecutor )来实现多线程和并发编程。使用ThreadPoolTask-Executor 可实现一个基于线程泊的TaskExecutor。而实际开发中任务一般是非阻碍的,即异步的,所以我们要在配置类中通过@EnableAsync 开启对异步任务的支持,并通过在实际执行的Bean 的方法中使用@Async 注解来声明其是一个异步任务。原创 2017-08-07 07:41:02 · 14611 阅读 · 2 评论 -
11-SpringBoot——Spring MVC基础-常用注解
Spring MVC 常用以下几个注解。(1) @Controller@Controller 注解在类上,表明这个类是Spring MVC 的Controller,将其声明为Spring的一个Bean, Dispatcher Servlet 会自动扫描注解了此注解的类并将Web 请求映射到注解了@RequestMapping 的方法上。这里特别指出,在声明普通Bean的时候,使用@Component、@原创 2017-08-08 07:43:59 · 1754 阅读 · 0 评论 -
12-SpringBoot——Spring MVC基础-常用配置
Spring MVC 的定制配置需要我们的配置类继承一个WebMvcConfigurerAdapter 类,并在此类使用@EnableWebMvc 注解,来开启对Spring MVC 的配置支持,这样我们就可以重写这个类的方法,完成我们的常用配置。原创 2017-08-09 07:43:00 · 1781 阅读 · 0 评论 -
13-SpringBoot——Spring MVC基础-高级配置-文件上传
文件上传是一个项目里经常要用的功能, Spring MVC 通过配置一个MultipartResolver 来上传文件。在Spring 的控制器中,通过MultipartFile file 来接收文件,通过MultipartFile[] files 接收多个文件上传。在Spring MVC中,文件上传变得非常简单,通过CommonsMultipartResolver可以控制文件上传的一些属性,比如设置文件上传的最大原创 2017-08-11 07:23:52 · 2015 阅读 · 0 评论 -
14-SpringBoot——Spring MVC基础-自定义HttpMessageConverter
HttpMessageConveter 是用来处理request 和response 里的数据的。Spring 为我们内置了大量的HttpMessageConverter,例如, MappingJackson2HttpMessageConverter 、StringHttpMessageConverter 等。我们实现一个自定义的HttpMessageConverter,他将接收以“-”号连接的数据,将数据转换成自定原创 2017-08-12 08:16:37 · 7506 阅读 · 1 评论 -
15-SpringBoot——Spring MVC基础-服务端推送技术
服务端推送技术在我们日常开发中较为常用,可能早期很多人的解决方案是使用Ajax 向服务器轮询消息,使浏览器尽可能第一时间获得服务端的消息,因为这种方式的轮询频率不好控制,所以大大增加了服务端的压力。本案例所有的服务器端推送的方案都是基于:当客户端向服务端发送请求,服务端会抓住这个请求不放,等有数据更新的时候才返回给客户端,当客户端接收到消息后,再向服务端发送请求,周而复始。这种方式的好处是减少了服务器的请求数量,原创 2017-08-14 07:53:32 · 2781 阅读 · 0 评论 -
16-SpringBoot——Spring MVC基础-测试
测试是保证软件质量的关键,为了测试Web 项目通常不需要启动项目,我们需要一些Servlet 相关的模拟对象,比如:MockMVC 、MockHttpServletRequest 、MockHttpServletResponse 、MockHttpSession 等。在Spring 里,我们使用@WebAppConfiguration 指定加载的ApplicationContext 是一个WebApplication原创 2017-08-15 07:28:38 · 1013 阅读 · 0 评论 -
17-SpringBoot——基础-概述
随着动态语言的流行( Ruby 、Groovy 、Scala 、Node.js), Java 的开发显得格外的笨重:繁多的配置、低下的开发效率、复杂的部署流程以及第二方技术集成难度大。面对上述问题, Spring Boot 应运而生。它使用“习惯优于配置”(项目中存在大量的配置,此外还内置一个习惯性的配置,让你无须手动进行配置)的理念让你的项目快速运行起来。使用Spring Boot 很容易创建一个独立运行(运行ja原创 2017-08-16 07:45:48 · 985 阅读 · 0 评论 -
18-SpringBoot——核心-基本配置
Spring Boot 通常有一个名为XxxApplication 的入口类,入口类里有一个main 方法,这个main方法其实就是一个标准的Java 应用入口方法。在main 方法中使用SpringApplication.run( Xxx.class, args ),启动Spring Boot 应用项目。@SpringBootApplication 是Spring Boot 的核心注解,它是一个组合注解。原创 2017-08-17 07:49:22 · 1051 阅读 · 0 评论 -
19-SpringBoot——核心-Profile配置
Profile是Spring用来针对不同的环境对不同的配置提供支持的 ,全局 Profile 配置使用appllication-{profile} .properties( 如 application-prod.properties )。通过在 app1ication.properties 中设置 spring.profiles.active= prod 来指定活动的Profile。也可以使用JVM参数在启动时指原创 2017-08-18 08:07:37 · 796 阅读 · 0 评论 -
20-SpringBoot——核心-运行原理
Spring Boot 关于自动配置的源码在spring-boot-autoconfigure-xxx.jar中。可以通过下面三种方式查看当前项目中已启用和未启用的自动配置的报告。 (1) 运行jar 时增加--debug 参数 (2) 在applic剖ion.properties 中设置属性。 (3) 运行时设置JVM启动参数-Ddebug Spring Boot 的运作原理,它的核心功能是由@Enab原创 2017-08-20 08:34:33 · 1605 阅读 · 0 评论 -
21-SpringBoot——核心-Web配置
分析WebMvcAutoConfiguration 及WebMvcProperties 的源码,发现Spring Boot为我们提供了如下自动配置功能。(1) ContentNegotiatingViewResolver:这是一个特殊的ViewResolver, ContentNegotiatingViewResolver 不自己处理View ,而是代理给不同的ViewResolver 来处理,它有最高的优先级。原创 2017-08-21 07:32:09 · 960 阅读 · 0 评论 -
22-SpringBoot——核心-Tomcat配置
SpringBoot——核心-Tomcat配置【博文目录>>>】【项目源码>>>】【Tomcat配置】在SpringBoot中Tomcat 的所有属性都在org. springframework.boot.autoconfigure.web. ServerProperties配置类中做了定义,我们只需在application.properties 配置属性做配置即可。通用的Servlet 容器配置都原创 2017-08-23 07:40:22 · 1433 阅读 · 0 评论 -
23-SpringBoot——核心-Favicon配置
SpringBoot——核心-Favicon配置【博文目录>>>】【项目源码>>>】【Favicon配置】Spring Boot 提供了一个默认的Favicon ,每次访问应用的时候都能看到。我们可以在application.properties 中设置关闭Favicon,spring.mvc.favicon.enabled=false ,默认为开启。若需要设置自己的Favicon ,则只需将自己的原创 2017-08-24 07:25:10 · 1076 阅读 · 0 评论 -
24-SpringBoot——核心-WebSocket
SpringBoot——核心-WebSocket【博文目录>>>】【项目源码>>>】【WebSocket】WebSocket 为浏览器和服务端提供了双工异步通信的功能,即浏览器可以向服务端发送消息,服务端也可以向浏览器发送消息。WebSocket 需浏览器的支持,如IE 10+、Chrome 13+,Firefox 6+,这对我们现在的浏览器来说都不是问题。WebSocket 是通过一个socket原创 2017-08-25 07:39:01 · 2001 阅读 · 1 评论 -
25-SpringBoot——核心-Spring Data JPA
JPA 即Java Persistence API。JPA 是一个基于O/R映射的标准规范(目前最新版本是JPA 2.1 )。所谓规范即只定义标准规则(如注解、接口),不提供实现,软件提供商可以按照标准规范来实现,而使用者只需按照规范中定义的方式来使用,而不用和软件提供商的实现打交道。JPA 的主要实现由Hibernate、EclipseLink 和OpenJPA 等,这也意味着我们只要使用JPA 来开发,无论是哪一原创 2017-08-27 10:46:40 · 4212 阅读 · 0 评论 -
26-SpringBoot——核心-Spring Data REST
Spring Data JPA 是基于Spring Data 的repository 之上,可以将repository 自动输出为REST资源。目前Spring Data REST 支持将Spring Data JPA 、Spring Data MongoDB 、Spring Data Neo4j 、Spring Data GemFire 以及Spring Data Cassandra 的repository 自动转原创 2017-09-03 07:19:12 · 1496 阅读 · 0 评论 -
27-SpringBoot——核心-声明式事务
而Spring 的事务机制是用统一的机制来处理不同数据访问技术的事务处理。Spring 的事务机制提供了一个PlatformTransactionManager 接口,不同的数据访问技术的事务使用不间的接口实现。原创 2017-09-04 07:21:26 · 1238 阅读 · 0 评论 -
28-SpringBoot——核心-数据缓存Cache
Spring 定义了org.springframework.cache.CacheManager 和org.springframework.cache.Cache接口用来统一不同的缓存的技术。其中, CacheManager 是Spring 提供的各种缓存技术抽象接口, Cache 接口包含缓存的各种操作(增加、删除、获得缓存,我们一般不会直接使用此接口)。原创 2017-09-05 07:18:10 · 1597 阅读 · 0 评论 -
29-SpringBoot——核心-非关系型数据库NoSQL
MongoDB 是一个基于文档( Document )的存储型的数据瘁,使用面向对象的思想,每一条数据记录都是文档的对象。Spring 对MongoDB 的支持主要是通过Spring Data MongoDB 来实现的, Spring Data MongoDB 为我们提供了如下功能。原创 2017-09-06 08:09:47 · 1742 阅读 · 0 评论 -
30-SpringBoot——核心-企业级开发-Spring Security
Sprirg security 是专门针对基于Spring 的项目的安全框架,充分利用了依赖注入和AOP来实现安全的功能。在早期的Spring Security 版本,使用Spring Security 需要使用大量的XML 配置,而本节将全部基于Java 配置来实现Spring Security 的功能。安全框架有两个重要的概念,即认证( Authentication )和授权( Authorization原创 2017-09-07 07:29:16 · 2138 阅读 · 0 评论 -
31-SpringBoot——核心-企业级开发-SpringBatch
Spring Batch 是用来处理大量数据操作的一个框架,主要用来读取大量数据,然后进行一定处理后输出成指定的形式。原创 2017-09-08 07:14:30 · 996 阅读 · 0 评论 -
32-SpringBoot——核心-企业级开发-异步消息
异步消息主要目的是为了系统与系统之间的通信。所谓异步消息即消息发送者无须等待消息接收者的处理及返回,甚至无须关心消息是否发送成功。在异步消息中有两个很重要的概念,即消息代理( message broker )和目的地( destination )。当消息发送者发送消息后,消息将由消息代理接管,消息代理保证消息传递到指定的目的地。异步消息主要有两种形式的目的地:队列( queue )和主题( topic )。队列用原创 2017-09-09 08:03:51 · 1295 阅读 · 0 评论