springboot和springcloud
文章平均质量分 88
springboot和springcloud学习整理
修炼中的菜鸟
这个作者很懒,什么都没留下…
展开
-
SpringBoot1-spirng项目快速搭建+maven+spring的基本配置
最近又重新学习了下spring和spring mvc,有一些收获,为了记下这些收获,整理成学习笔记,方便日后在进行复习使用。 spirng使用简单的POJO(plain old java object ,及无任何限制的普调java对象)来进行企业级开发。每一个被spring管理的java对象都称之为bean;spring提供了一个ioc容器来初始化对象,解决对象之间的依赖管理和对象的使原创 2017-07-09 08:41:08 · 1052 阅读 · 0 评论 -
SpringBoot2-spring基础-AOP
AOP:面向切面编程,相对于oop面向对象编程 spring的Aop的存在是为了解耦,AOP可以让一组类共享相同的行为。在OOP中只能通过基础类和实现接口,来使代码的耦合度增强,且继承只能为单继承,阻碍更多行为添加到一组类上, AOP补充了OOP的不足。 Spring支持Aspect的注解式切面编程 1)使用Aspect声明式一个切面 2)使用@After,原创 2017-07-09 23:04:33 · 1851 阅读 · 2 评论 -
SpringBoot3-spring常用配置
spring的常用配置 1,bean的scope scope描述了spring容器如何新建bena的实例,spring的scope有以下几种,通过@Scope注解来实现 1)Singleton:一个spring容器中只有一个bena的实例,此为spring的默认配置,全容器共享一个实例的bean。 2)Prototype:每次调用新建一个bean的实例 3)Reque原创 2017-07-11 22:36:05 · 1293 阅读 · 0 评论 -
jenkins+git+maven+shell构建自动化部署项目
自动化部署构建Jenkin简介:Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。首先需要理解的是,Jenkins是帮我们将代码进行统一的编译打包、还可以放到tomcat容器中进行发布。意思是我们通过配置,将以前:编译、打包、上传、部署到Tomcat中的过程交由Jenkins,Jenkins通过给定的代码地址URL,将代码拉取到其“宿主服务器”原创 2017-07-11 14:52:52 · 1974 阅读 · 0 评论 -
SpringBoot4-spring高级话题-spring aware,多线程,计划任务,条件注解@Conditional
一:Spring Aware1,点睛 spring的依赖注入的最大亮点就是你所有的Bean对Spring容器的存在是没有意识的,即你可以将你的容器替换成别的容器,如Google Guice,这时Bean之间的耦合度很低。 但是在实际项目中,你不可避免的要用到Spring容器本身的功能资源,这时你的Bean必须意识到Spring容器的的存在,才能调用Spring所提供的资源原创 2017-07-15 13:53:32 · 1078 阅读 · 0 评论 -
SpringBoot5-spring高级话题-组合注解与元注解,@Enable*注解的工作原理,测试
一:组合注解与元注解 从spring2开始,为了响应JDK1.5推出的注解供暖,spring开始大量加入注解来替代xml配置。spring的注解主要用来配置和注入bean,以及AOP相关的配置(@Transactional)。随着注解的大量使用,尤其相同的多个注解用到各个类或方法中,会相当繁琐。这就是所谓的样板代码,是spring设计的原则中要消除的代码。 所谓元注解其原创 2017-07-16 11:12:41 · 2529 阅读 · 0 评论 -
SpringBoot6-Spring MVC-快速搭建spring mvc
一:spring mvc概述 了解spring mvc之前,先来了解下什么是mvc,它和三层架构是什么关系: mvc:Mode+View+Controller(数据模型,视图,控制器) 三层架构:Presentation tier + Application tier+Data tier(展现层+应用层+数据访问层)那么MVC和三层架构有什么关系了?我原创 2017-07-22 11:03:55 · 837 阅读 · 0 评论 -
Spring Cloud1实现注册中心and服务的注册与消费
Spirng Cloud可以很容易的实现注册中心,进行服务的注册,进行服务的消费。国内阿里开源的dubbo也实现了SOA,但是功能没有Spirng Cloud强大,而且dubbo已经不进行维护了,下面搭建一个简单的注册中心,然后进行服务的注册,服务的消费。一:搭建注册中心 1,使用IDEA创建一个maven项目,该项目是一个maven的parent,起到管理其他module原创 2017-07-21 12:32:28 · 14380 阅读 · 3 评论 -
Spring Boot使用mybatis连接mysql
使用IDEA创建一个spring boot项目,项目名为springbootstudy,使用maven管理jar包。1,修改pom.xml配置,配置如下:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:原创 2017-07-21 14:32:20 · 3592 阅读 · 0 评论 -
spring boot集成mybatis-generator-maven-plugin和通用mapper
在开发中基本都是要使用数据库,编写数据库层的代码。比如我们使用mybatis,需要建立表对应的POJO类,对应的mapper接口,对应的mapperxml文件,这些都是一些繁琐的代码,一般在开发中都会考虑自动生成这些代码,利用mybatis-generator-maven-plugin插件自动生成这些代码,解放大脑和手了,有更多的时间休息,享受生活了。下面是mybatis-generator-ma原创 2017-07-24 15:19:37 · 10527 阅读 · 2 评论 -
SpringBoot7-Spring MVC-简介
spring mvc常用有以下几个注解:1,@Controller: @Controller注解在类上,表明这个类是一个spring mvc里的controller,将其声明为Spring的一个Bean,Dispatcher Servlet会自动扫描注解了此注解的类,并将web请求映射到注解了@RequestMapping的方法上。这里需要指出,在声明普通Bean的时候,使用@Co原创 2017-07-23 11:07:08 · 246 阅读 · 0 评论 -
SpringBoot8-Spring MVC-Spring MVC基本配置
Spring MVC的定制配置需要我们的配置类继承一个WebMvcConfigurerAdapter类,并在此类使用@EnableWebMvc注解,并开启对Spring MVC的配置支持,这样我们就可以重写这个类的方法,完成我们的常用配置。 我们将前面的MyMvcConfig配置类继承WebMvcConfigurerAdapter。下面没有特别说明,关于配置的相关内容都在MyMv原创 2017-07-25 22:33:17 · 10368 阅读 · 0 评论 -
SpringBoot9-Spring MVC-Spring MVC高级配置
一:文件上传 文件上传是一个项目里经常要用的功能,Spring MVC通过配置一个MultipartResolver来上传文件。 在Spring的控制器中通过MultipartFile file来接收文件,通过MultipartFile[] files接收多个文件上传。 下面是示例:原创 2017-07-27 22:31:01 · 3814 阅读 · 0 评论 -
SpringBoot10-Spring MVC-Spring MVC的测试
测试是保证软件质量的关键,为了测试Web项目通常是不需要启动项目,我们需要一些Servlet相关的模拟对象,比如MockMVC,MockHttpServletRequest,MockHttpServletResponse,MockHttpSession等。 在Spring里,我们使用@WebAppConfiguration指定加载的ApplicationContext是一个WebA原创 2017-07-28 23:11:49 · 695 阅读 · 0 评论 -
SpringBoot11-springboot-springboot概述
spring boot的核心功能1,独立运行的Spring 项目 Spring Boot可以以jar包的形式独立运行,运行一个Spring Boot项目只需通过java -jar xx.jar来运行2,内嵌Servlet容器 Spring Boot可选择内嵌Tomcat,Jetty或者Undertow,这样我们无需以war包形式部署项目3,提供start原创 2017-07-28 23:34:31 · 423 阅读 · 0 评论 -
SpringBoot12-springboot-springboot快速搭建
之前都是spring boot的基础,从这里开始,正式步入了spring boot技术中。下面创建一个maven项目,用来管理所有的spring boot项目和以后的spring cloud项目,这个maven项目就命名为SpringCloudOne一,创建原创 2017-07-29 01:26:52 · 455 阅读 · 0 评论 -
SpringBoot13-springboot核心-基本配置
一:入口类和@SpringBootApplication Spring Boot通常有一个名为*Applicationd的入口类,入口类里有一个main方法,这个main方法其实就是一个标准的Java应用的入口方法。在main方法中使用SpringApplication.run(class,args),启动Spring Boot应用项目。上一篇,我们建立了一个Spring Boot项原创 2017-07-30 11:31:35 · 1530 阅读 · 0 评论 -
SpringBoot14-springboot核心-外部配置,日志配置,Profile配置
一:外部配置 Spring Boot允许使用properties文件,yaml文件或命令行参数作为外部配置。 1,命令行参数配置 Spring Boot可以是基于jar包运行的,打包jar包的程序可以直接通过命令行运行: java -jar xx.jar 可以通过以下命令修改Tomcat端口号: java -jar原创 2017-08-05 11:36:16 · 2799 阅读 · 0 评论 -
SpringBoot15-springboot核心-Spring Boot运行原理
这篇来先通过学习分析Spring Boot的运行原理后,根据已掌握的知识来自定义一个start pom。 Spring Boot关于自动配置的源码在spring-boot-autoconfigure-xxx.jar内。若想查看有哪些自动配置,可以查看这里的源码。可以通过下面几种方式查看当前项目中已启用和未启用的自动配置的报告。 1)运行jar包时增加--debug参数:原创 2017-08-06 11:44:49 · 17353 阅读 · 3 评论 -
SpringBoot16-springboot的Web开发-Spring Boot的Thymeleaf支持
Spring Boot提供了大量的模板引擎,包含了FreeMarker,Groovy,Thymeleaf,Velocity和Mustache,Spring Boot中推荐使用Thymeleaf作为模板引擎,因为Thymeleaf提供了完美的Spring MVC的支持。 Thymeleaf是一个java类库,它是一个xml/xhtml/html5的模板引擎,可以作为MVC的Web应用的Vi原创 2017-08-08 22:45:37 · 9265 阅读 · 1 评论 -
SpringBoot17-springboot的Web开发-Web相关配置
一:Spring Boot提供自动配置 通过查看WebMvcAutoConfiguration及WebMvcProperties的源码,可以发现Spring Boot为我们提供了如下的自动配置。 1,自动配置的ViewResolver1)ContentNegotiatingViewResolver 这是Spring MVC提供的一个特殊的ViewResolver,原创 2017-08-12 10:06:25 · 5049 阅读 · 0 评论 -
SpringBoot18-springboot的Web开发-Tomcat配置
这里讲的tomcat配置,但其实指的是servlet容器的配置,因为Spring Boot默认内嵌的Tomcat为servlet容器,这里的配置对Tomcat,Jetty和Undertow都是通用的 一:配置Tomcat 关于Tomcat的所有属性都在org.springframework.boot.autoconfigure.web.ServerProperties配置类中做了定义,我们原创 2017-08-13 20:38:58 · 938 阅读 · 0 评论 -
SpringBoot19-springboot的Web开发-Favicon配置
Spring Boot提供了一个默认的Favicon,每次访问应用的时候都能看到,如下图:定制自己的Favicon一:关闭Favicon 我们可以在application.yml中设置关闭Favicon,默认为开启,spring: mvc: favicon: enabled: false二:设置自己的Favicon 若需设置自己的Favicon,则只需将自己的f原创 2017-08-13 21:36:15 · 4456 阅读 · 1 评论 -
SpringBoot20-springboot的Web开发-WebSocket
一:什么是WebSocket WebSocket为浏览器和服务端提供了双工异步通信的功能,即浏览器可以向服务端发送消息,服务端也可以向浏览器发送消息。WebSocket需浏览器的支持,如ie10+,Chrome13+,Firefox6+,这对目前的浏览器来说不是什么问题了。 WebSocket是通过一个socket来实现双工异步通信的能力的。但是直接使用WebSocket(或原创 2017-08-21 23:04:07 · 4619 阅读 · 3 评论 -
SpringBoot21-springboot的数据访问-引入Docker
Spring Data项目是Spring用来解决数据访问问题的一揽子解决方案,Spring Data是一个伞形项目,包含了大量关系型数据库及非关系型数据库的数据访问解决方案。Spring Data使我们可以快速且简单地使用普通的数据访问技术及新的数据访问技术。Spring Data包含的子项目有:Spring Data JPA,Spring Data MongoDB,Spring Data Neo原创 2017-08-21 23:08:28 · 481 阅读 · 0 评论 -
zookeeper和kafka
zookeeper:ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。Kafka:是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。kafka的使用需要依赖zook原创 2017-09-05 14:34:52 · 1820 阅读 · 0 评论 -
spring cloud config 用svn做配置文件仓库
spring cloud config 用svn做配置文件仓库spring cloud的配置文件中心分为服务端和客户端,下面是一个例子:一:服务端主要配置1,创建一个spring boot项目,修改pom.xml,添加jar包依赖,代码如下:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.or原创 2017-09-11 18:03:41 · 1540 阅读 · 0 评论 -
SpringBoot22-spingboot数据访问-Spring Data JPA
一:电竞Spring Data JPA1,什么事Spring Data JPA 我们知道Hibernate是数据访问解决技术的绝对霸主,使用O/R映射技术实现数据访问,o/r映射即将领域模型类和数据库的表进行映射,通过程序操作对象而实现表数据操作的能力,让数据访问操作无须关注数据库相关的技术。 随着Hibernate的盛行,Hibernate主导了EJB3.0的JPA规范原创 2017-10-03 00:03:49 · 1245 阅读 · 0 评论 -
SpringBoot23-spingboot数据访问-Spring Data REST
一,点睛Spring Data REST 1,什么是Spring Data REST Spring Data JPA是基于Spring Data的repository之上,可以将repository自动输出为REST资源。目前Spring Data REST支持将Spring Data JPA,Spring Data MongoDB,Spring Data Neo4j,Sprin原创 2017-10-05 08:36:13 · 1472 阅读 · 0 评论 -
SpringBoot24-spingboot数据访问-声明式事务
一,spring事务的机制 所有的数据访问技术都有事务处理机制,这些技术提供了API用来开启事务,提交事务来完成数据操作,或者在发生错误的时候回滚数据。 而spring的事务机制是用统一的机制来处理不同数据访问技术的事务处理。spring的事务机制提供了一个PlatformTransactionManager接口,不同的数据访问技术的事务使用不同的接口实现,如下:数据访问技术及原创 2017-10-05 11:07:49 · 1305 阅读 · 0 评论 -
SpringBoot25-spingboot数据访问-数据缓存Cache
我们知道一个程序的瓶颈在于数据库,我们也知道内存的速度是大大快于硬盘的速度的。当我们需要重复地获取相同的数据的时候,我们一次又一次的请求数据库或者远程服务,导致大量的时间耗费在数据库查询或者远程方法调用上,导致程序性能的恶化,这便是数据缓存要解决的问题。一,Spring 缓存支持 Spring定义了org.springframework.cache.CacheManager和org.spr原创 2017-10-08 22:03:00 · 782 阅读 · 0 评论 -
SpringBoot26-spingboot数据访问-NoSQL(MongDB)
NoSQL是对于不使用关系作为数据管理的数据库系统的统称。NoSQL的主要特点是不使用SQL语言作为查询语言,数据存储也不是固定的表,字段。 NoSQL数据库主要有文档存储型(MongoDB),图形关系存储型(Neo4j)和键值对存储型(Redis)。 本篇先演示基于MongoDB的数据访问,下一篇将演示基于Redis的数据访问。一,MongoDB Mon原创 2017-10-10 20:35:17 · 546 阅读 · 0 评论 -
SpringBoot27-spingboot数据访问-NoSQL(Redis)
Redis是一个基于键值对的开源内存数据存储,当然Redis也可以做数据存储。一,Spring的支持1,配置 Spring对Redis的支持也是通过Spring Data Redis来实现的,Spring Data JPA为我们提供了连接相关的ConnectionFactory和数据操作相关的RedisTemplate。在这里需要注意,Spring Data Redis值对Re原创 2017-10-11 21:32:18 · 529 阅读 · 0 评论 -
SpringBoot28-springboot企业级开发-安全控制Spring Security
一,Spring Security快速入门1,什么是Spring Security Spring Security是专门针对基于Spring的项目的安全框架,充分利用了依赖注入和AOP来实现安全的功能。 在早期的Spring Security版本,使用Spring Security需要使用大量的xml配置,而下面将全部基于Java配置来实现Spring Security的功能原创 2017-10-12 21:28:02 · 1598 阅读 · 0 评论 -
spring boot AOP和spring boot统一异常处理
一,spring AOPspring boot使用AOP,代码如下,代码比较简单就不细说了,直接上代码,可以使用AOP做日志处理package com.qwrt.fire.sensor.aop;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;import org.aspectj.lan原创 2017-10-20 14:33:42 · 8634 阅读 · 2 评论 -
SpringBoot29-springboot企业级开发-批处理Spring Batch
一,Spring Batch快速入门 1,什么是Spring Batch Spring Batch是用来处理大量数据操作的一个框架,主要用来读取大量数据,然后进行一定处理后输出指定的形式。2,Spring Batch主要组成 Spring Batch主要由以下几部分组成:JobRepository:用户注册Job的容器JobLauncher:用来启动Job的接口Job:我们原创 2017-10-20 23:20:33 · 4825 阅读 · 0 评论 -
springboot-websocket作为客户端
本篇博客主要记录下使用websocket作为客户端的功能一,websocket服务端1,创建一个spring boot项目 pom.xml的代码如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="htt...原创 2017-10-25 16:23:36 · 19598 阅读 · 0 评论 -
SpringBoot30-springboot企业级开发-异步消息
异步消息主要目的是为了系统与系统之间的通信。所谓异步消息即消息发送者无须等待消息接收者的处理及返回,甚至无须关心消息是否发送成功。 在异步消息中有两个很重要的概念,即消息代理(message broker)和目的地(destination)。当消息发送者发送消息后,消息将由消息代理接管,消息代理保证消息传递到指定的目的地。 异步消息主要有两种形式的目的地:队列(queue)和主题(原创 2017-10-30 21:49:52 · 634 阅读 · 0 评论 -
spring boot实现图片的上传和下载功能
这篇博客简单介绍下spring boot下图片上传和下载,已经遇到的问题。首先需要创建一个spring boot项目。 1,核心的controller代码package com.qwrt.station.websocket.controller;import com.alibaba.fastjson.JSONObject;import com.qwrt.stati...原创 2017-10-31 19:26:52 · 32295 阅读 · 14 评论 -
SpringBoot31-springboot开发部署与测试-开发热部署和常规部署
一,开发的热部署1,模板热部署 在spring boot里,模板引擎的页面默认是开启缓存的,如果修改了页面的内容,则刷新页面是得不到修改后的页面的,因此我们可以在applicaiotn.properties中关闭模板引擎的缓存,例如:Thymeleaf的配置:spring.thymeleaf.cache=falseFreeMarker的配置:spring.freemarker.cache=原创 2017-11-02 21:42:17 · 514 阅读 · 0 评论