Spring Boot中Spring data注解的使用 Sring data JPA为我们提供了很多有用的注解,方便我们来实现各种复杂的功能。...Spring Data不仅可以用于JPA, 它还有很多其他的数据提供方,JPA只是其中的一个具体实现。...可以放在方法上,也可以放在class上面,如果放在class上面则说明该class中的所有方法都适用于Transactional。...principals,所有这些注解是和Spring Security配合使用的。...Spring Data JPA Annotations Spring Data JPA Annotations是来自于spring-data-jpa包的。
在上篇文章《Spring Boot(二):Web 综合开发》中简单介绍了一下 Spring Boot Jpa 的基础性使用,这篇文章将更加全面的介绍 Spring Boot Jpa 常见用法以及注意事项...使用 Spring Boot Jpa 开发时,发现国内对 Spring Boot Jpa 全面介绍的文章比较少案例也比较零碎,因此写文章总结一下。...本人也正在翻译Spring Data JPA 参考指南,有兴趣的同学欢迎联系我,一起加入翻译中! Spring Boot Jpa 介绍 首先了解 Jpa 是什么?...1) 复杂查询 在实际的开发中我们需要用到分页、删选、连表等查询的时候就需要特殊的方法或者自定义 SQL 分页查询 分页查询在实际使用中非常普遍了,Spring Boot Jpa 已经帮我们实现了分页的功能...,常常需要在一个项目中使用多个数据源,因此需要配置 Spring Boot Jpa 对多数据源的使用,一般分一下为三步: 1 配置多数据源 2 不同源的实体类放入不同包路径 3 声明不同的包路径下使用不同的数据源
在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。”...——《菜鸟教程》 简而言之,WebSocket是实现服务端主动向客户端推送数据的一项技术,它使用ws协议实现。...在Spring Boot中实现WebSocket功能还是比较容易的,具体过程如下: 1.首先在pom文件中引入相关依赖 org.springframework.boot... spring-boot-starter-websocket 2.开启Spring Boot对websocket...; } } WebSocketTest(); function sendMessage(){ // Web Socket 已连接上,使用 send
Spring Boot JPA 中transaction的使用 transaction是我们在做数据库操作的时候不能回避的一个话题,通过transaction,我们可以保证数据库操作的原子性,一致性,隔离性和持久性...本文我们将会深入的探讨Spring Boot JPA中@Transactional注解的使用。...如果放在方法上面,那么该方法中的所有public方法都会应用该Transaction。 如果@Transactional放在private方法上面,则Spring Boot将会忽略它。...如果没有则创建,如果有transaction,则Spring将会把该放方法的业务逻辑附加到已有的transaction中。...隔离级别主要是为了防止下面3个并发过程中可能出现的问题: 脏读:读取一个transaction还没有提交的change 不可重复读:在一个transaction修改数据库中的某行数据时,另外一个transaction
1.1.2 引入 Spring Security 在 Spring Boot 中引入 Spring Security 是相当简单的,可以在用脚手架创建项目的时候勾选,也可以创建完毕后在 pom 文件中加入相关依赖...Spring Boot 帮我们完成了在 Spring 中需要完成的诸多配置【☞ Spring Security 基础入门】。...也正是因为 Spring Boot 提供了自动化配置方案,让我们可以“零配置”的使用 Spring Security,所以在 Spring Boot 项目中我们通常使用的安全框架是 Spring Security...1.2 配置认证 1.2.1 添加静态用户 Spring Boot 除了一些信息写道 yml 配置文件中,其他配置都使用配置类,Spring Security 需要继承 WebSecurityConfigurerAdapter...☞ 认证类 Spring Boot 中 Spring Security 的认证类与 Spring 中的并无区别,都需要实现 UserDetailsService 接口,然后重写 loadUserByUsername
简介 本篇文章我们将会探讨一下怎么在SpringBoot使用测试,Spring Boot有专门的spring-boot-starter-test,通过使用它可以很方便的在Spring Boot进行测试。...添加maven依赖 org.springframework.boot spring-boot-starter-test...Boot test联系的桥梁。...TestEntityManager提供了一些通用的对Entity操作的方法。上面的例子中我们使用TestEntityManager向Employee插入了一条数据。...Service测试 在实际的应用程序中,Service通常要使用到Repository。但是在测试中我们可以Mock一个Repository,而不用使用真实的Repository。
可以说Redis兼具了缓存系统和数据库的一些特性,因此有着丰富的应用场景。本文介绍Redis在Spring Boot中两个典型的应用场景。...如何使用 1、引入 spring-boot-starter-redis org.springframework.boot...=8 # 连接池最大阻塞等待时间(使用负值表示没有限制) spring.redis.pool.max-wait=-1 # 连接池中的最大空闲连接 spring.redis.pool.max-idle...”字样且能打印出数据表示测试成功"); return user; } 其中value的值就是缓存到redis中的key。...共享Session-spring-session-data-redis 分布式系统中,sessiong共享有很多的解决方案,其中托管到缓存中应该是最常用的方案之一。
Spring Boot devtool的使用 Spring Boot为我们提供了一个便捷的开发Spring Boot应用程序的环境,同时为了方便我们的开发Spring Boot应用程序,Spring Boot...推出了Spring Boot devtool的工具来方便我们更加快速的开发和测试Spring Boot应用程序。... spring-boot-devtools 这样就添加好了,我们可以开始使用Spring boot...默认属性 Spring Boot为我们提供了很多自动配置来提高我们开发的效率,比如会缓存模板引擎例如thymeleaf, 但是如果我们在开发过程汇中可能需要快速的看到修改的结果,这个时候我们就不需要这个缓存配置了...自动重启 在开发过程中,如果我们修改了某些java文件,我们可能需要重启下项目来观看修改后的结果,如果使用spring-boot-devtools,当classpath中有文件变动时候,devtools
Spring Boot中的Properties 简介 本文我们将会讨怎么在Spring Boot中使用Properties。...env; ... dataSource.setUrl(env.getProperty("jdbc.url")); Spring Boot中的属性文件 默认情况下Spring Boot 会读取application.properties...Boot将会自动将这些属性文件映射成java bean的属性,我们需要做的就是定义好prefix。...yaml文件 Spring Boot也支持yaml形式的文件,yaml对于层级属性来说更加友好和方便,我们可以看下properties文件和yaml文件的对比: database.url=jdbc:postgresql...当指定了特定的环境变量时候,Spring Boot会自动去加载application-environment.properties文件,Spring Boot默认的属性文件也会被加载,只不过优先级比较低
MongoDB对于关系型数据库里的表,但是集合中没有列、行和关系概念,这体现了模式自由的特点。 MongoDB中的一条记录就是一个文档,是一个数据结构,由字段和值对组成。...MongoDB文档与JSON对象类似。字段的值有可能包括其它文档、数组以及文档数组。...mongodb的增删改查 Spring Boot对各种流行的数据源都进行了封装,当然也包括了mongodb,下面给大家介绍如何在spring boot中使用mongodb: 1、pom包配置 pom包里面添加...多数据源mongodb的使用 在多mongodb数据源的情况下,我们换种更优雅的方式来实现 1、pom包配置 添加lombok和spring-boot-autoconfigure包引用 <dependency...spring-boot-autoconfigure - 就是spring boot的自动化配置 2、配置文件使用YAML的形式添加两条数据源,如下: mongodb: primary: host
spring boot对常用的数据库支持外,对nosql 数据库也进行了封装自动化。 redis介绍 Redis是目前业界使用最广泛的内存数据存储。...可以说Redis兼具了缓存系统和数据库的一些特性,因此有着丰富的应用场景。本文介绍Redis在Spring Boot中两个典型的应用场景。...如何使用 1、引入 spring-boot-starter-redis org.springframework.boot...”字样且能打印出数据表示测试成功"); return user; } 其中value的值就是缓存到redis中的key 共享Session-spring-session-data-redis...分布式系统中,sessiong共享有很多的解决方案,其中托管到缓存中应该是最常用的方案之一, Spring Session官方说明 Spring Session provides an API and
首先在start.spring.io中创建简单的admin应用,主要步骤如下: Group: org.sample.admin Artifact: spring-boot-admin-web Name...spring-boot-admin应用启动日志 在浏览器中访问上图中提示的地址,可以看到下图的信息 ?...在文章Spring Boot应用的健康监控中,我们曾定制自己的Health Indicator,用来监控四个数据库接口的健康状态,这次我将利用spring-boot-admin对这些信息进行可视化管理。...>> metrics();,在该方法中定义具体的监控信息;该接口的实现类需要在配置文件中通过@Bean注解,让Spring Boot在启动过程中初始化,并自动注册到MetricsEndpoint处理器中...使用Spring进行面向切面编程(AOP)
Spring Boot JPA中关联表的使用 本文中,我们会将会通过一个Book和Category的关联关系,来讲解如何在JPA中使用。...添加依赖 我们还是使用H2内存数据库来做测试: org.springframework.boot...spring-boot-starter-data-jpa <dependency...category_id) values(2,'The Rabbit',1); insert into category(id,name) values(1,'category'); 测试 我们看一下怎么从Book中删除一条数据...Book,但是删除Book的时候不会删除相关联的category。
@EnableCaching 它支持Spring的注释驱动的缓存管理功能,在spring boot项目中,我们需要将它添加到带注释的引导应用程序类中@SpringBootApplication。...@CacheEvict 当我们需要从缓存删除先前加载的主数据时可以使用它,当CacheEvict注释方法将被执行时,它将清除缓存。...@Caching 当同时需要CachePut和CacheEvict时,使用这个注释。 Spring启动提供与以下缓存提供程序的集成。...Spring引导使用默认选项进行自动配置,如果这些选项存在于类路径中,并且我们已在spring boot应用程序中通过@EnableCaching启用了缓存。...Spring starter中的特定缓存行为 - 例如 spring.cache.infinispan.config=infinispan.xml 使用案例 1.
Spring Boot Admin的使用 前面的文章我们讲了Spring Boot的Actuator。但是Spring Boot Actuator只是提供了一个个的接口,需要我们自行集成到监控程序中。...今天我们将会讲解一个优秀的监控工具Spring Boot Admin。它采用图形化的界面,让我们的Spring Boot管理更加简单。...先上图给大家看一下Spring Boot Admin的界面: ? image 从界面上面我们可以看到Spring Boot Admin提供了众多强大的监控功能。那么开始我们的学习吧。...=http://localhost:8080 因为Spring Boot Admin依赖于 Spring Boot Actuator, 从Spring Boot2 之后,我们需要主动开启暴露的主键,如下...spring boot admin提供了一个UI供我们使用,同时我们添加Spring Security依赖: de.codecentric</groupId
Spring Boot的TestRestTemplate使用 TestRestTemplate和RestTemplate很类似,不过它是专门用在测试环境中的,本文我们将会讲述TestRestTemplate...添加maven依赖 要使用TestRestTemplate,我们需要首先添加如下的maven依赖: org.springframework.boot spring-boot-test TestRestTemplate VS RestTemplate...我们看一下TestRestTemplate基本的使用: @Test public void testGet (){ TestRestTemplate testRestTemplate...Basic Auth Credentials TestRestTemplate封装了基本的Auth Credentials,我们可以这样使用: TestRestTemplate testRestTemplate
,在后台给定如下提示: spring-boot-admin应用启动日志 在浏览器中访问上图中提示的地址,可以看到下图的信息 spring-boot-admin应用 How Do...在文章Spring Boot应用的健康监控中,我们曾定制自己的Health Indicator,用来监控四个数据库接口的健康状态,这次我将利用spring-boot-admin对这些信息进行可视化管理。... 然后再次启动BookPub应用,然后在Spring Boot Admin的页面中查看LOGGING,则可以看到如下页面: 通过Spring Boot Admin修改日志级别...>> metrics();,在该方法中定义具体的监控信息;该接口的实现类需要在配置文件中通过@Bean注解,让Spring Boot在启动过程中初始化,并自动注册到MetricsEndpoint处理器中... A.比较被动的妥协解决方案:项目发布时设置日志输出级别为error,当线上遇到问题时,再重启项目修改日志的输出级别为info; (1)优点:无需改造现有项目
Spring Boot 中的自动配置 SpringBoot 启动的时候,会有大量的自动配置的类加载到容器中。...从源码中可以看到它标注了一个@Import 注解,该注解是 Spring 的底层注解。它给容器中导入一个组件 (AutoConfigurationImportSelector.class)。...我们可以在 spring-boot-autoconfigure.jar 中查看具体导入了哪些组件,spring-boot-autoconfigure.jar 有一个 META-INF/spring.factories...spring.factories 中的内容如下: ? 继续展开,看到这里包含了大量的自动配置类,有了这些自动配置类就能帮我们自动配置好相关内容,简化开发,提高效率。 ?...SpringBoot 的自动配置原理并不复杂,它大量的使用了条件注解@Conditional,该注解可以根据不同的条件状态来判断是否需要自动配置。想深入了解的话,可以百度一些文章,分析的比较详细。
接口编写拦截器 Step2 实现WebMvcConfigurer接口注册拦截器 Step3 验证 多个拦截器的执行顺序 Filter 过滤器 Spring Boot中整合过滤器Filter的两种方式...上面是通过xml的方式来加载的 ,那基于Spring Boot的呢? ---- Spring Boot2.1.2整合拦截器Interceptor 示例 ?...---- Filter 过滤器 在开发传统的Spring项目时web.xml中配置的编码过滤器不知道你还记不记得?...比如这篇很久前写的这个基于Spring的SSM整合文章SSM-Spring+SpringMVC+MyBatis整合案例从0到1 中为了避免编码不一致增加了编码过滤器配置 ?...Filter ---- Spring Boot中整合过滤器Filter的两种方式 ?
原文地址:https://www.baeldung.com/spring-boot-testing 1 概览 在这个教程中,我们会带你看看如果使用 Spring Boot 中的框架编写测试用例。...内容会覆盖单元测试,也会有在执行测试用例前会启动 Spring 上下文的集成测试。如果你是使用 Spring Boot 的新手,查看链接:Spring Boot 介绍。...3.1 JUnit4 Spring Boot 2.4 中,JUnit 5’s vintage engine 包已经从spring-boot-starter-test中被移除了。...为了实现这样的解耦,==我们可以使用 Spring Boot Test 提供的 Mocking 支持来做到==。...当我们需要在JUnit测试类中使用Spring Boot 测试的特性的时候,这个注解就有用了。
领取专属 10元无门槛券
手把手带您无忧上云