目录 ✍前言 版本约定 ✍正文 默认转换器注册情况 StreamConverter 代码示例 使用场景 兜底转换器 ObjectToObjectConverter part1:快速返回流程 part2:三部曲流程 代码示例 使用场景 IdToEntityConverter 代码示例 使用场景 FallbackObjectToStringConverter 代码示例 ObjectToOptionalConverter 代码示例 使用场景 ✍总结 推荐阅读 分享.成长,拒绝浅藏辄止.关注公众号[BA…
最新整理的spring面试题从基础到高级,干货满满 前言: 收藏了一些关于Spring的面试题,一方面是为了准备找工作的时候看面试题,另一方面,通过面试题的方式加深一些自己的理论知识. spring 是个Java企业级应用的开源开发框架.Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用.Spring 框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯.也是大厂面试经常问到的. 一.基础篇 Spring 概 述 什 么 是 s…
注解 @Autwired 依赖注入  作用: 自动按照类型注入.当使用注解注入属性时,set方法可以省略.它只能注入其他bean类型.当有多个类型匹配时,使用要注入的对象变量名称作为bean的id,在spring容器查找,找到了也可以注入成功.找不到就报错. @compnent 把资源让spring来管理.相当于在xml中配置一个bean. 属性: value:指定bean的id.如果不指定value属性,默认bean的id是当前类的类名.首字母小写. @qualifier 作用: 在自动按照类…
首先,参考 https://blog.csdn.net/weixin_40475523/article/details/81085990 然后发现 是因为我把自己的这个类加上了 @Service 注解,然后我又自己手动new 了这个类,创建了一个实例, 所以因为不归spring管理了,自然注入不了,导致空指针异常,所以以后@Service的类, 直接用spring的方式拿出来,比如 @Autowired 或者配置文件中注入,不用new来实例化 之前在别的类调用的时候 new 了这个类的实例…
1, 添加 HTTP/HTTPS 信道安全 <http> <intercept-url pattern="/secure/**" access="ROLE_USER" requires-channel="https"/> <intercept-url pattern="/**" access="ROLE_USER" requires-channel="any"…
一, 安装SDK 1.Hi3531 SDK包位置 在"Hi3531_V100R001***/01.software/board"目录下,您可以看到一个 Hi3531_SDK_Vx.x.x.x.tgz 的文件, 该文件就是Hi3531的软件开发包. 2.解压缩SDK包 在linux服务器上(或者一台装有linux的PC上,主流的linux发行版本均可以),使用命令:tar -zxf Hi3531_SDK_Vx.x.x.x.tgz , 解压缩该文件,可以得到一个Hi3531_SDK_Vx.…
profile 不同于maven的profile, spring的profile不需要重新打包, 同一个版本的包文件可以部署在不同环境的服务器上, 只需要激活对应的profile就可以切换到对应的环境. @Profile({"test","dev"}) Java Config 通过这个注解指定bean属于哪个或哪些profile. 参数value是一个profile的字符串数组. 此注解可以添加到类或方法上. XML Config 对应的节点是beans的属性pro…
高级装配 一.环境与Profile 一)配置profile bean 环境的改变导致配置改变(需求:通过环境决定使用哪个bean),可以通过Spring的Profile解决. Profile可以在程序运行时根据环境的改变决定使用哪个bean.所以一个部署单元能适应所有环境. 1.在Java文件中配置  @Configuration public class UserConfig { @Bean @Profile("dev") //dev激活时才创建使用该bean public User…
上一篇文章我们主要讲了一点关于AOP编程,它的动态考虑程序的运行过程,和Spring中AOP的应用,前置通知,后置通知,环绕通知和异常通知,这些都是Spring中AOP最简单的用法,也是最常用的东西,本节我们 要讲:对上节课的补充和AOP的高级使用,本文将以以下的顺序来进行分析: 无接口的CGLIB动态代理 有接口的CGLIB动态代理 方法名匹配切入点顾问 正则表达式方法切入点顾问 自动代理生成器 (一)无接口的CGLIB动态代理 上一节我们示范的通知(前置,后置...),都有实现接口,我们在动…
一, 安装SDK 1.Hi3531 SDK包位置 在"Hi3531_V100R001***/01.software/board"文件夹下,您能够看到一个 Hi3531_SDK_Vx.x.x.x.tgz 的文件. 该文件就是Hi3531的软件开发包. 2.解压缩SDK包 在linuxserver上(或者一台装有linux的PC上,主流的linux发行版本号均能够),使用命令:tar -zxf Hi3531_SDK_Vx.x.x.x.tgz , 解压缩该文件,能够得到一个Hi3531_SD…
文件上传 在 Web 应用中,允许用户上传文件是很常见的需求.文件上传通常是采用 multipart 格式,而 DispatcherServlet 并没有任何解析 multipart 请求数据的功能,它将这个解析的任务委托给了 Spring 中的 MultipartResolver 策略接口的实现,通过这个实现类来解析 multipart 请求中的内容. 从 Spring 3.1 开始, Spring 内置了两个 MultipartResolver 实现供我们选择: CommonsMultipa…
1.404页面 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"> <tit…
目录 ✍前言 版本约定 ✍正文 Spring Cloud版本管理 与Spring Boot版本对应关系 当前支持的版本 阻断式升级(不向下兼容) 1.再见了,Netflix Netflix组件替代方案 Spring Cloud LoadBalancer是什么? Spring Cloud Alibaba是否可作为替代方案? 显示导入Netflix包还能否正常work? 2.Bootstrap上下文默认不再启动 开启方式 3.全新的配置方式 4.其它 常规式升级 仍旧存在的问题 ✍总结 推荐阅读 分…
目录 ✍前言 本文提纲 版本约定 ✍正文 Printer&Parser Formatter 时间日期格式化 Date类型 代码示例 JSR 310类型 整合DateTimeFormatter 代码示例 数字格式化 数字格式化 百分数格式化 钱币格式化 ✍总结 本文思考题 ♚声明♚ 推荐阅读 ✍前言 你好,我是A哥(YourBatman). 上篇文章 介绍了java.text.Format格式化体系,作为JDK 1.0就提供的格式化器,除了设计上存在一定缺陷,过于底层无法标准化对使用者不够友好,这…
目录 ✍前言 版本约定 ✍正文 ConverterRegistry ConversionService ConfigurableConversionService GenericConversionService 1.内部类Converters 添加add 删除remove 查找find 2.管理转换器(ConverterRegistry) 添加 查找 3.转换功能(ConversionService) 判断 转换 DefaultConversionService 默认注册的转换器们 Conve…
目录 ✍前言 版本约定 ✍正文 DateFormat:日期时间格式化 SimpleDateFormat NumberFormat:数字格式化 DecimalFormat 一.0和#的使用(最常见使用场景) 二.科学计数法E 三.分组分隔符, 四.百分号% 五.本地货币符号¤ ChoiceFormat MessageFormat:字符串格式化 参数模式 注意事项 static方法的性能问题 和String.format选谁? 经典使用场景 ✍总结 推荐阅读 分享.成长,拒绝浅藏辄止.关注公号[BA…
 除了spring.jar文件,Spring还包括有其它13个独立的jar包,各自包含着对应的Spring组件,用户可以根据自己的需要来选择组合自己的jar包,而不必引入整个spring.jar的所有类文件. (1) spring-core.jar 这个jar文件包含Spring框架基本的核心工具类,Spring其它组件要都要使用到这个包里的类,是其它组件的基本核心,当然你也可以在自己的应用系统中使用这些工具类. (2) spring-beans.jar 这个jar文件是所有应用都要用到的,它包…
Spring简介 之前一直想写点东西,可一直没有开始实施,各种原因都有,最大原因可能还是自己太懒了,嘿嘿.最近在看Spring in action这本书,为了能让自己坚持下去把书看完,这次决定同步的在博客园上写个Spring系列栏目,期中部分代码案例是自己发挥写的,和书上不一样,大家参考理解,有钱的小伙伴也可以买一本自己看看.另外,由于我不是什么专业的编辑,也很少写文章,所有文章中有个别病句或者错别字的大家别介意,我自己也尽量避免. 一.Spring简介 在接触java开发之前,我是一个 .ne…
一. IoC(Inversion of control): 控制反转1.IoC:概念:控制权由对象本身转向容器:由容器根据配置文件去创建实例并创建各个实例之间的依赖关系核心:bean工厂:在Spring中,bean工厂创建的各个实例称作bean二.AOP(Aspect-Oriented Programming): 面向方面编程1. 代理的两种方式:静态代理: 针对每个具体类分别编写代理类: 针对一个接口编写一个代理类:动态代理:针对一个方面编写一个InvocationHandler,然后借用…
spring.jar是包含有完整发布的单个jar 包,spring.jar中包含除了spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到 spring-mock.jar来进行辅助测试,正式应用系统中是用不得这些类的.  除了spring.jar文件,Spring还包括有其它13个独立的jar包,各自包含着对应的Spring组件,用户可以根据自己的需要来选择组合自己的jar包,而不必引入整个spring.jar的所有类文件. (1) spring-co…
spring.jar是包含有完整发布的单个jar 包,spring.jar中包含除了spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到 spring-mock.jar来进行辅助测试,正式应用系统中是用不得这些类的. 除了spring.jar文件,Spring还包括有其它13个独立的jar包,各自包含着对应的Spring组件,用户可以根据自己的需要来选择组合自己的jar包,而不必引入整个spring.jar的所有类文件. (1) spring-cor…
<Spring Batch 批处理框架>基本信息作者: 刘相 出版社:电子工业出版社ISBN:9787121252419上架时间:2015-1-24出版日期:2015 年2月开本:16开页码:404版次:1-1   内容简介<Spring Batch 批处理框架>本书全面.系统地介绍了批处理框架Spring Batch,通过详尽的实战示例向读者展示了Spring Batch框架对大数据批处理的基本开发能力,并对框架的架构设计.源码做了特定的剖析:在帮助读者掌握Spring Batc…
spring.jar是包含有完整发布的单个jar 包,spring.jar中包含除了spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到 spring-mock.jar来进行辅助测试,正式应用系统中是用不得这些类的.  除了spring.jar文件,Spring还包括有其它13个独立的jar包,各自包含着对应的Spring组件,用户可以根据自己的需要来选择组合自己的jar包,而不必引入整个spring.jar的所有类文件. (1) spring-co…
大数据时代批处理利器,国内首度原创解析Spring Batch框架. 内容简介: <Spring Batch 批处理框架>全面.系统地介绍了批处理框架Spring Batch,通过详尽的实战示例向读者展示了Spring Batch框架对大数据批处理的基本开发能力,并对框架的架构设计.源码做了特定的剖析:在帮助读者掌握Spring Batch框架基本功能.高级功能的同时,深入剖析了Spring Batch框架的设计原理,帮助读者可以游刃有余地掌握Spring Batch框架. <Sprin…
spring.jar是包含有完整发布的单个jar 包,spring.jar中包含除了spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到 spring-mock.jar来进行辅助测试,正式应用系统中是用不得这些类的.  除了spring.jar文件,Spring还包括有其它13个独立的jar包,各自包含着对应的Spring组件,用户可以根据自己的需要来选择组合自己的jar包,而不必引入整个spring.jar的所有类文件. (1) spring-co…
Spring框架 Spring 是管理多个java类的容器框架,注意是类不管理接口. Spring 的主要功能 Ioc 反转控制和 DI 依赖注入. 注入的方式可以是构造函数赋值也可以是 set方法赋值推荐用set方法赋值 在Spring一加载的阶段就实例化.和初始化(注入值的话)在Spring配置文件中的多个java类.等待用户的调用,用服务器端的缓存消耗换取客户端的快速响应. Ioc:反转控制.当实例化一个bean类时,传统的操作方式是由调用者进行实例化.在spring中,不再由调用者进行实…
为什么多线程.junit 中无法使用spring 依赖注入? 这个问题,其实体现了,我们对spring已依赖太深,以至于不想自己写实例了. 那么到底是为什么在多线程和junit单元测试中不能使用依赖注入呢? 一.为什么多线程下spring的依赖注入失效了呢? 答:因为spring为了考虑安全性问题,在多线程情况下,不支持直接使用 @Resouce 注解方式进行直接的bean注入,那么也就是说,如果在多线程调用该注入实例化的变量时,将会报NullPointerException . 解决办法: 多…
为了给系统提供可配置化支持,一般会用原生态的方式去解析定义好的XML文件,然后转化为配置对象.这种方式对于简单.单一的配置文件,或者是XML配置格式固定的配置文件,比较容易处理.但是对于一些配置非常复杂,情况比较多的时候,使用自定义的方式去验证.解析就会比较麻烦了.Spring提供了可扩展Schema的支持,这样就可以使用Spring已有的验证.解析工具进行处理了. 扩展Spring自定义标签配置还是比较简单的,大致需要以下几个步骤: 创建一个需要扩展的组件 定义一个XSD文件描述组件内容 创建…
随笔:有人曾这样评价spring,说它是Java语言的一个巅峰之作,称呼它为Java之美,今天,小编就领大家一起来领略一下spring之美! Spring官方文档:http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/ 声明:此文章大部分转载自唐彤,本人只是在原基础上略作修改,对原文有兴趣的可以戳连接: 在谈spring之前,完美可以先看一下从官网结果来的图(当然是翻译后的啦~),让大家有一…
BeanFactory是Spring的“心脏”.它就是Spring IoC容器的真面目. Spring使用BeanFactory来实例化.配置和管理Bean.但是,在大多数情况我们并不直接使用BeanFactory,而是使用ApplicationContext.它也是BeanFactory的一个实 现,但是它添加了一系列“框架”的特征,比如:国际化支持.资源访问.事件传播等. BeanFactory其实是一个接口-org.springframework.beans.factory.BeanFac…