![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring
赖胖子的廖小明
学以致用
展开
-
SpringBoot访问接口封装结果类返回报错:No converter found for return value of type
接口如下:@RestController@RequestMapping("/test")public class TestController { @GetMapping public Result test(){ System.out.println("测试接口"); return new Result(true,"接口响应成功。。。。...原创 2020-02-12 12:13:03 · 731 阅读 · 0 评论 -
SpringBoot接口访问报错:No adapter for handler
报错信息:javax.servlet.ServletException: No adapter for handler [com.project.goddess.controller.TestController@8e71243]: The DispatcherServlet configuration needs to include a HandlerAdapter that suppo...原创 2020-02-10 22:37:00 · 8879 阅读 · 0 评论 -
《Spring实战》-第六章:渲染视图(表达式,标签库,模板)
慢慢来比较快,虚心学技术前言:视图解析器可以将逻辑视图名转换成物理实现一、视图解析器Spring提供了13个基本的视图解析器,能够将逻辑视图名转换为物理实现,如上一篇中提到的InternalResourceViewResolver。此处我们只了解其中几个比较常用的视图解析器:FreeMarkerViewResolver:将视图解析为 FreeMarker 模板 In...原创 2019-03-23 10:28:31 · 272 阅读 · 0 评论 -
《Spring实战》-第五章:Web中的Spring(SpringMVC注解实现)
慢慢来比较快,虚心学技术前言:前面我们学习了关于Spring核心的IOC和AOP知识,除此之外,以此为基础,Spring的MVC框架还经常被用于Web开发(SpringMVC)一、什么是SpringMVC框架?在了解SpringMVC之前,我们先回顾一下Spring基础架构:Spring MVC 是Spring的一部分,基于模型 - 视图 - 控制器( Model...原创 2019-03-22 23:47:20 · 321 阅读 · 0 评论 -
《Spring实战》-第十一章:利用对象-关系映射持久化数据(Spring整合Spring Data JPA)
慢来比较快,虚心学技术Ⅰ、Spring Data JPA简介Spring-Data:Spring 的一个子项目。用于简化数据库访问,支持NoSQL 和 关系数据存储。其主要目标是使数据库的访问变得方便快捷。Spring-data系列产品: Spring Data Common 提供共享的基础框架,适合各个子项目使用,支持跨数据库持久化 ...原创 2019-03-30 00:09:21 · 273 阅读 · 0 评论 -
《Spring实战》-第十三章:缓存数据(1)-Spring对缓存的支持
慢来比较快,虚心学技术缓存( Caching )可以存储经常会用到的信息,这样每次需要的时候,这些信息都是立即可用的。我们将会了解到 Spring 的缓存抽象。尽管 Spring 自身并没有实现缓存解决方案,但是它对缓存功能提供了声明式的支持,能够与多种流行的缓存实现进行集成Ⅰ、开启缓存支持注解开启:@EnableCaching 配置开启: <cache:annotat...原创 2019-04-03 23:38:25 · 236 阅读 · 0 评论 -
《Spring实战》-第十章:Spring和JDBC
慢慢来比较快,虚心学技术数据访问操作:初始化数据访问框架、打开连接、处理各种异常和关闭连接,任何一步出现异常都有可能导致损坏或删除企业数据库珍贵数据一、Spring 的数据访问哲学①松耦合为了避免持久化的逻辑分散到应用的各个组件中,最好将数据访问的功能放到一个或多个专注于此项任务的组件中。这样的组件通常称为数据访问对象( data access object , DAO )...原创 2019-03-26 23:07:44 · 309 阅读 · 0 评论 -
《Spring实战》-第十一章:利用对象-关系映射持久化数据
慢慢来比较快,虚心学技术一、什么是对象-关系映射(ORM)/为什么需要对象-关系映射先来了解几个概念:瞬时状态:在程序运行的时候,有些数据保存在内存中,当程序退出后,这些数据就不复存在了,称这些数据的状态是瞬时的。 持久状态:数据以文件形式保存在辅存中,这样,程序退出后,数据依然存在,这种状态称之为持久的。 持久化 :即在程序中的瞬时状态和持久状态之间转换的机制。实际上,我们...原创 2019-03-27 23:15:55 · 390 阅读 · 0 评论 -
《Spring实战》-第十四章:保护方法(Security)(2)-使用表达式增强方法保护
慢来比较快,虚心学技术前一篇文章中,我们通过使用@Secured和@RolesAllowed两个注解实现了简单有效的基于角色的方法权限控制,但是有时候,我们并不是单纯的针对角色身份进行限制就可以的,还需要使用某些逻辑进行限制,所以Spring Security提供了四个注解帮助我们更细粒地去控制方法访问地权限,这些注解地参数都是SPEL表达式 注 解 描 ...原创 2019-04-10 23:30:40 · 227 阅读 · 0 评论 -
《Spring实战》-第十一章:利用对象-关系映射持久化数据(Spring整合Hibernate)
慢来比较快,虚心学技术Ⅰ、Hibernate架构体系分析先来了解一下Hibernate的框架体系,下图为官方Hibernate简要体系结构:Hibernate通过持久化对象Persistent Objects(PO)对数据库进行操作,底层数据库操作 对于应用程序来说是透明的,应用程序无需关心JDBC操作,底层数据库连接、数据库访问实现、事务控制,而是直接以面向对象方式进行持久层...原创 2019-03-28 23:27:51 · 227 阅读 · 0 评论 -
《Spring实战》-第十二章:Spring与NoSQL
慢来比较快,虚心学技术随着非关系型数据库(NoSQL数据库)概念的流行,Spring也开始提供非关系型数据库的支持,Spring主要提供以下几种非关系型数据库的支持:MongoDB -----文档数据库,不是通用的数据库,它们所擅长解决的是一个很小的问题集 Neo4j -----------图数据库。 Redis -----------键值对数据库现如今用的比较多的NoSQL数据...原创 2019-04-02 23:27:17 · 220 阅读 · 0 评论 -
《Spring实战》-第十三章:缓存数据(2)-在方法上使用缓存
慢来比较快,虚心学技术Spring 的缓存抽象在很大程度上是围绕切面构建的。在 Spring 中启用缓存时,会创建一个切面,它触发一个或更多的 Spring 的缓存注解,Spring提供的缓存注解主要有以下几个: 注 解 描 述 @Cacheable 表明 Spring 在调用方法之前,首先应该在缓存中查找方法...原创 2019-04-08 23:43:26 · 196 阅读 · 0 评论 -
《Spring实战》-第十四章:保护方法(Security)(1)-使用注解保护方法
慢来比较快,虚心学技术尽管Spring Security为我们提供了Web层的安全保护,我们依旧有可能会疏忽而导致用户通过正常访问路径访问到不应该访问的方法,所以除了在web层实施保护以外,我们还需要给底层的方法施加保护层。这样就能保证如果用户不具备权限的话,就无法执行相应的逻辑Spring Security 提供了三种不同的安全注解:Spring Security 自带...原创 2019-04-09 23:47:08 · 257 阅读 · 0 评论 -
记一次activiti监听器无法实例化的错误解决过程(SpringBoot Listener)
慢来比较快,虚心学技术思路永远比答案更有价值问题场景SpringBoot项目中,activiti某个流程节点需要配置监听器,当前节点任务提交完成之后触发方法更改远程表单的状态,具体流程监听设计如下:feignClient代码:MyService.java@FeignClient(value = "xxxxx")public interface MyServ...原创 2019-04-17 22:36:21 · 17402 阅读 · 18 评论 -
《Spring实战》-第九章:Spring Web应用安全(Spring Security)
慢慢来比较快,虚心学技术安全性是绝大多数应用系统中的一个重要切面( aspect ),之所以说是切面,是因为安全性是超越应用程序功能的一个关注点。应用系统的绝大部分内容都不应该参与到与自己相关的安全性处理中。尽管我们可以直接在应用程序中编写安全性功能相关的代码(这种情况并不少见),但更好的方式还是将安全性相关的关注点与应用程序本身的关注点进行分离一、什么是Spring Security...原创 2019-03-25 22:56:31 · 352 阅读 · 0 评论 -
《Spring实战》-第四章:面向切面编程(AOP)
慢慢来比较快,虚心学技术前言:DI (依赖注入)有助于应用对象之间的解耦,而 AOP(面向切面编程) 可以实现横切关注点与它们所影响的对象之间的解耦一、什么是面向切面编程Ⅰ、横切关注点:在软件开发中,散布于应用中多处的功能被称为横切关注点( cross-cutting concern )【比如说日志,安全和事务管理等】。通常来讲,这些横切关注点从概念上是与应用的业务逻辑相分离的...原创 2019-03-22 00:05:41 · 244 阅读 · 0 评论 -
《Spring实战》-第二章:Bean的装配(1)-XML显式装配
慢慢来比较快,虚心学技术前言:创建应用对象之间协作关系的行为通常称为装配( wiring ),这也是依赖注入( DI )的本质Spring提供三种Bean装配机制:在 XML 中进行显式配置。 在 Java 中进行显式配置 隐式的 bean 发现机制和自动装配本文简单讲解Spring中使用xml方式进行显式配置装配Bean的步骤和内容分析使用xml进行Bean的...原创 2019-02-28 22:36:45 · 325 阅读 · 0 评论 -
《Spring实战》-第二章:Bean的装配(2)-JavaConfig显式装配
慢慢来比较快,虚心学技术前言:创建应用对象之间协作关系的行为通常称为装配( wiring ),这也是依赖注入( DI )的本质Spring提供三种Bean装配机制:在 XML 中进行显式配置。 在 Java 中进行显式配置 隐式的 bean 发现机制和自动装配一、为什么使用JavaConfig显式配置?相比于XML显式配置,javaConfig显然是更好的方案Ⅰ...原创 2019-03-05 00:17:56 · 186 阅读 · 0 评论 -
《Spring实战》-第二章:Bean的装配(3)-自动化装配
慢慢来比较快,虚心学技术前言:创建应用对象之间协作关系的行为通常称为装配( wiring ),这也是依赖注入( DI )的本质Spring提供三种Bean装配机制:在 XML 中进行显式配置。 在 Java 中进行显式配置 隐式的 bean 发现机制和自动装配一、什么是自动化装配?很显然,通过前两篇文章的描述,我们可以发现,Spring的配置方式可以很简洁,也可以也...原创 2019-03-06 00:09:04 · 209 阅读 · 0 评论 -
《spring实战》-第一章-Spring初识
慢慢来比较快,虚心学技术前言:学习了解一个新的事物,需要先思考三个问题,是什么?有什么用?怎么用?1.Spring是什么?Spring 是一个开源框架,最早由 Rod Johnson 创建,并在《 Expert One-on-One : J2EE Design and Development 》( http://amzn.com/076454385 )这本著作中进行了介绍。...原创 2019-02-26 23:51:16 · 329 阅读 · 0 评论 -
《Spring实战》-第三章:Bean的高级装配(1)-环境Profile
慢慢来比较快,虚心学技术1.为什么需要profile?实际开发中,生产环境和开发环境通常都不会是同一个,最明显的例子就是,生产环境(正式环境)的数据库和开发环境的数据库一般都是不一样的。那么为了方便配置的转换,Spring提供了profile关键字进行统一的环境配置,通过profile配置我们可以快速的切换整个应用的环境,而不需要从代码层面进行重新构建那么,使用profile的目的...原创 2019-03-16 21:11:23 · 339 阅读 · 0 评论 -
《Spring实战》-第三章:Bean的高级装配(2)-条件化Bean
慢慢来比较快,虚心学技术1、什么是条件化Bean在第一节中说到的profile限定了特殊环境下的Bean装载,但是有时候只根据环境进行Bean装配的选择并不一定能满足我们的需求,所以Spring4提供了更加细化的条件话配置Bean,用于对特定条件才可以进行装配的Bean进行配置2、怎么条件化配置Bean条件化配置Bean主要依赖于一个注解和一个接口:@Conditional...原创 2019-03-16 21:41:02 · 229 阅读 · 0 评论 -
《Spring实战》-第三章:Bean的高级装配(3)-处理自动装配Bean的歧义性
慢慢来比较快,虚心学技术1、什么是自动装配Bean的歧义性当一个接口存在多个实现类或一个类存在多个bena定义的时候,如果使用自动装配,Spring将无法明确应该使用哪一个Bean进行装配注入,这时候就会报 NoUniqueBeanDefinitionException 的异常,这就是自动装配Bean的歧义性如现有一个接口BaseService,该接口有两个实现类:BaseS...原创 2019-03-16 21:58:43 · 235 阅读 · 0 评论 -
《Spring实战》-第三章:Bean的高级装配(4)-Bean的作用域
慢慢来比较快,虚心学技术1、什么是Bean的作用域?默认情况下,Spring容器装配的Bean都是单例的,也就是说,不管什么情况下,在同一应用中通过Spring容器获取的都是同一个对象,也就导致了这个对象携带了很多可变的属性,有时候会很不方便。比如:我们通过ApplicationContext先后获取BaseBean进行设值和取值,可以看到他们是同一个对象@Component...原创 2019-03-17 13:39:20 · 198 阅读 · 0 评论 -
《Spring实战》-第三章:Bean的高级装配(总目录)
慢慢来比较快,虚心学技术《Spring实战》-第三章:Bean的高级装配(1)-环境Profile《Spring实战》-第三章:Bean的高级装配(2)-条件化Bean《Spring实战》-第三章:Bean的高级装配(3)-处理自动装配Bean的歧义性《Spring实战》-第三章:Bean的高级装配(4)-Bean的作用域《Spring实战》-第三章:Bean的高级装配(5...原创 2019-03-17 13:46:10 · 187 阅读 · 0 评论 -
《Spring实战》-第三章:Bean的高级装配(5)-运行时值注入
慢慢来比较快,虚心学技术当我们讨论依赖注入的时候,多数注意的都是将一个bena作为属性或构造器参数注入到另一个bean中。但是有时候我们也需要关注如何将值注入到方法参数或者属性中去,在前面的文章中,我们所了解的注入都是在系统初始化的时候就已经写死的值,可是有时候我们也需要在运行时才确定需要注入的值,Spring提供了两种运行时注入的方式:属性占位符( Property placehol...原创 2019-03-17 14:09:02 · 287 阅读 · 0 评论 -
《Spring实战》-第二章:Bean的装配(4)-混合导入装配机制
慢慢来比较快,虚心学技术前言:创建应用对象之间协作关系的行为通常称为装配( wiring ),这也是依赖注入( DI )的本质Spring提供三种Bean装配机制:在 XML 中进行显式配置。 在 Java 中进行显式配置 隐式的 bean 发现机制和自动装配在典型的 Spring 应用中,我们可能会同时使用自动化和显式配置,幸好在 Spring 中,这些配置方案都不是...原创 2019-03-13 00:00:22 · 157 阅读 · 0 评论 -
《Spring实战》-第二章:Bean的装配(总目录)
慢慢来比较快,虚心学技术前言:创建应用对象之间协作关系的行为通常称为装配( wiring ),这也是依赖注入( DI )的本质Spring提供三种Bean装配机制:在 XML 中进行显式配置。 在 Java 中进行显式配置 隐式的 bean 发现机制和自动装配目录《Spring实战》-第二章:Bean的装配(1)-XML显式装配 《Spring实战》-第二章:...原创 2019-03-13 09:31:43 · 157 阅读 · 0 评论 -
《Spring实战》-第七章:SpringMVC的高级技术
慢慢来比较快,虚心学技术一、SpringMVC配置的替代方案Ⅰ、注册FilterSpingMVC的AbstractAnnotationConfigDispatcherServletInitializer提供了十分方便的注册过滤器的方法,通过重载getServletFilters()方法将我们自定义的过滤器注册到上下文中如下代码:public class SpittrWeb...原创 2019-03-24 23:45:42 · 597 阅读 · 0 评论