Spring框架
文章平均质量分 79
向小凯同学学习
余生向小凯同学学习,做个暖男!
展开
-
解决:Mysql8.0 ConnectionImpl.getServerCharset NullPointerException(亲测有效)
报错问题:在使用Java程序连接mysql的时候,会出现这样的一个报错com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeCons.原创 2021-01-07 18:45:43 · 5373 阅读 · 2 评论 -
解决java.lang.ClassNotFoundException: com.mysql.jdbc.Driver问题(真实有效)
数据库驱动找不到这个一场特别奇葩,既然这个异常存在,竟然又能编译通过,项目也不报错,只是在启动的时候,抛出异常!一、看看这个异常Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.2018-06-29 19:...原创 2018-06-29 19:50:29 · 29440 阅读 · 8 评论 -
SpringFramework核心技术三:Spring时间处理和类型转换
使用在(1)中,我们学习了蛮多的基本概念,在(2)中咱们看一下如何使用的问题。一、以编程方式使用ConversionService要以编程方式使用ConversionService实例,只需为其他bean注入一个引用即可:@Servicepublic class MyService { @Autowired public MyService(Conver...原创 2018-06-25 12:20:35 · 745 阅读 · 0 评论 -
SpringFramework核心技术一(IOC:使用JSR 330标准注释)
JSR 330标准注释从Spring 3.0开始,Spring提供对JSR-330标准注释(依赖注入)的支持。这些注释以与Spring注释相同的方式进行扫描。你只需要在你的类路径中有相关的jar。 如果您使用的是Maven,javax.inject则可以在标准Maven存储库中使用该工件( http://repo1.maven.org/maven2/javax/inject/jav...原创 2018-06-01 22:26:08 · 539 阅读 · 1 评论 -
PostMan、Spring框架的Post处理请求简单类型和复杂List几种方式
参数传递在工作和学习的过程中常常会用到参数传递的知识,在使用Postman传参时常又有一些差别。 下面一起来看一下。一、简单的参数参数传递Controller 就普通的参数传递即可。 /** * 删除Customer * 根据ID删除 * @return */ @RequestMapping("deleteCus...原创 2018-06-15 17:32:22 · 9983 阅读 · 1 评论 -
SpringFramework核心技术一(IOC:环境抽象)
环境抽象这Environment 是一个集成在容器中的抽象,它模拟了应用程序环境的两个关键方面:配置文件 和属性。 一个轮廓是bean定义一个命名的逻辑组,只有当指定的配置文件是活动的容器进行登记。bean可以被分配给配置文件,不管是用XML还是通过注释来定义。Environment对象与配置文件相关的角色是确定哪些配置文件(如果有)当前处于活动状态,以及哪些配置文件(如果有)在默认情况下应...原创 2018-06-08 11:51:34 · 225 阅读 · 0 评论 -
SpringFramework核心技术三:验证,数据绑定和类型转换
验证,数据绑定和类型转换在Spring框架中,验证,数据绑定和类型转换都是比较重要的环节,下面我们来一起学习一下一、介绍JSR-303 / JSR-349 Bean验证 Spring Framework 4.0在安装支持方面支持Bean Validation 1.0(JSR-303)和Bean Validation 1.1(JSR-349),并将其与Spring的Validato...原创 2018-06-14 19:01:15 · 499 阅读 · 0 评论 -
SpringFramework核心技术一(IOC:基于Java的容器配置)
@Bean和@ConfigurationSpring新的Java配置支持中的中心构件是 - @Configuration注释类和@Bean注释方法。一、基本概念:@Bean和@ConfigurationSpring新的Java配置支持中的中心构件是 - @Configuration注释类和@Bean注释方法。该@Bean注释被用于指示一个方法实例,配置和初始化为通过Spring...原创 2018-06-07 19:22:12 · 431 阅读 · 0 评论 -
SpringFramework核心技术二:Resources(加载资源的几种方式)
Resources的介绍java.net.URL不幸的是,对于各种URL前缀,Java的标准类和标准处理程序不足以满足所有对低级资源的访问。例如,没有URL可用于访问需要从类路径获取的资源的标准化实现,或者相对于某个资源的获取 ServletContext。尽管可以为专用URL 前缀注册新的处理程序(类似于诸如前缀的现有处理程序http:),但这通常非常复杂,并且URL界面仍然缺少某些期望的功...原创 2018-06-13 12:00:30 · 4321 阅读 · 0 评论 -
SpringFramework核心技术一(IOC:BeanFactory)
什么是BeanFactory这BeanFactory为Spring的IoC功能提供了基础,但它只能直接用于与其他第三方框架的集成,现在对于Spring的大多数用户来说,它本质上是历史性的。在BeanFactory与相关的接口,如BeanFactoryAware,InitializingBean,DisposableBean,仍然存在于Spring为向后兼容性与大量与Spring集成第三方框架的...原创 2018-06-12 14:20:44 · 183 阅读 · 0 评论 -
SpringFramework核心技术一(IOC:类路径扫描和组件管理)
本章中的大多数示例都使用XML来指定BeanDefinition在Spring容器中生成每个配置的元数据。上一节(基于注释的容器配置)演示了如何通过源代码级注释提供大量配置元数据。但是,即使在这些示例中,“基本”bean定义在XML文件中显式定义,而注释仅驱动依赖注入。 本节介绍用于隐式检测候选组件的选项通过扫描类路径。候选组件是与过滤条件相匹配的类,并具有在容器中注册的相应的bean定义。这消...原创 2018-05-29 11:55:29 · 1461 阅读 · 0 评论 -
解决java.lang.IllegalArgumentException: 'Content-Type' cannot contain wildcard type '*'异常(真实有效)
FastJson版本升级这个bug的产生很大程度上是因为你更新了FastJson的版本。一、看一下这个Bugorg.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.IllegalArgumentException: ...原创 2018-06-29 20:09:38 · 20507 阅读 · 4 评论 -
SpringBoot项目多环境配置(亲测有效)
SpringBoot项目多环境配置SpringBoot项目在多环境配置上表现的非常优秀,只需要非常简单的操作就可以完成配置。一、认识配置文件在创建项目后,会看到一个resources目录下有一个application.properties文件,这个就是配置文件。 二、创建多配置文件将application.properties文件复制多份,并且改名。如下图: 三...原创 2018-06-25 14:59:25 · 25583 阅读 · 5 评论 -
SpringFramework核心技术一(IOC:注册一个LoadTimeWeaver)
一、什么是LoadTimeWeaver在LoadTimeWeaver用于由Spring动态变换的类,因为它们被装载到Java虚拟机(JVM)。 要启用加载时织入,请将其添加@EnableLoadTimeWeaving到您的某个 @Configuration类中:@Configuration@EnableLoadTimeWeavingpublic class AppConfig {...原创 2018-06-11 10:16:14 · 2715 阅读 · 0 评论 -
解决liquibase.exception.LockException: Could not acquire change log lock. Currently locked by XXXX
在开发中,当我们连上数据库的时候,会报下面的这样一个错误:具体的错误如下liquibase.exception.LockException: Could not acquire change log lock. Currently locked by 10.45.12.87 (10.45.12.87) since 9/3/19 6:24 PM at liquibase.lockser...原创 2019-09-10 13:55:23 · 12850 阅读 · 1 评论 -
Spring架构文档:程序员(工程师)的圣经
圣经作为一名工程师,尤其是服务端工程师,在Spring架构大行其道的时候,只有熟悉Spring的架构,才能有未来啊!一、Spring的架构文档Spring的架构文档这个有空的时候,多读读!...原创 2018-07-05 12:02:34 · 406 阅读 · 0 评论 -
原 SpringFramework核心技术五:Spring AOP API
一、概念1.Spring的切入点模型使切入点重用独立于建议类型。可以使用相同的切入点来定位不同的建议。该org.springframework.aop.Pointcut接口是中央接口,用来将通知到特定的类和方法。完整的界面如下所示:public interface Pointcut { ClassFilter getClassFilter(); MethodMa...原创 2018-07-05 11:13:22 · 665 阅读 · 0 评论 -
强势分析Java异常处理机制(附多方分析结果)
异常处理在工作和学习中,作为一名服务端工程师,最常见的就是异常处理的东西了。异常处理是一件非常关键的事情,那么对异常的正确理解就显得至关重要的。一、认识异常首先来看一下我画的图 在认识异常的时候,我选了几个写的比较好的博客,在这里给大家推荐一下。 1、全面理解Java异常机制 2、Java异常处理机制总结 上面两个博客讲的还是比较好的,作者也是引用了蛮多优秀的博客。...原创 2018-06-28 16:18:11 · 206 阅读 · 0 评论 -
解决:class invalid for deserialization序列化的问题(真实有效)
一、序列化问题首先来看看异常:java.io.InvalidClassException: com.gws.newframe.entity.test.TestUser; class invalid for deserialization at java.io.ObjectStreamClass$ExceptionInfo.newInvalidClassException(Objec...原创 2018-07-03 19:35:55 · 9209 阅读 · 3 评论 -
SpringFramework核心技术四:Spring表达式使用(SpEL)
SpEL表达式不同场景下的使用SpEL表达式是非常强大的,在不同的场景下有不同的使用方式,下面一起看看它的使用方法一、文字表达支持的文字表达式的类型是字符串,数值(int,real,hex),布尔值和null。字符串由单引号分隔。要将单引号本身放入字符串中,请使用两个单引号字符。下面的清单显示了文字的简单用法。通常,它们不会像这样孤立地使用,而是作为更复杂表达式的一部分,例如在...原创 2018-06-28 12:25:45 · 3592 阅读 · 2 评论 -
SpringFramework核心技术五:面向切面编程(AOP)和代理机制
AOP与代理Spring AOP使用JDK动态代理或CGLIB为给定目标对象创建代理。(只要有选择,JDK动态代理就是首选)。一、代理机制如果要代理的目标对象实现至少一个接口,则将使用JDK动态代理。目标类型实现的所有接口都将被代理。如果目标对象未实现任何接口,则将创建CGLIB代理。 如果要强制使用CGLIB代理(例如,代理为目标对象定义的每个方法,而不仅仅是那些由其接口实...原创 2018-07-03 12:10:52 · 381 阅读 · 0 评论 -
SpringFramework核心技术五:面向切面编程(AOP)和Spring
面向对象和面向切面两种编程方式的比较面向方面编程(AOP)通过提供关于程序结构的另一种思考方式来补充面向对象编程(OOP)。OOP中模块化的关键单元是类,而在AOP中,模块化的单元是方面。方面可以实现关注的模块化,例如跨越多种类型和对象的事务管理。(这种担忧在AOP文献中常常被称为横切关注点。)AOP的介绍1.基本的介绍AOP框架是Spring的关键组件之一。虽然Sprin...原创 2018-07-02 14:31:57 · 313 阅读 · 0 评论 -
SpringFramework核心技术四:Spring表达式语言知识点(SpEL)
Spring表达式Sprng表达式,可以适用于几乎所有的Spring产品中,是一种非常重要的表达式语言,下面我们一起来看看。一、介绍Spring Expression Language(简称SpEL)是一种强大的表达式语言,支持在运行时查询和操作对象图。语言语法类似于Unified EL,但提供了额外的功能,特别是方法调用和基本的字符串模板功能。虽然还有其他几种Java表达式语言可...原创 2018-06-27 11:44:03 · 2909 阅读 · 0 评论 -
SpringFramework核心技术三:Spring的验证机制
Spring验证Spring 3引入了对其验证支持的几项增强。首先,现在完全支持JSR-303 Bean验证API。其次,当以编程方式使用时,Spring的DataBinder现在可以验证对象并绑定到它们。第三,Spring MVC现在支持声明性验证@Controller输入。一、JSR-303 Bean验证API概述SR-303标准化Java平台的验证约束声明和元数据。使用此AP...原创 2018-06-26 11:12:02 · 741 阅读 · 0 评论 -
SpringFramework核心技术一(IOC:Spring容器的拓展点)
Spring容器的拓展点通常,应用程序开发人员不需要ApplicationContext 实现类的子类。相反,Spring IoC容器可以通过插入特殊集成接口的实现来扩展。接下来的几节将介绍这些集成接口。一、使用BeanPostProcessor定制bean1.BeanPostProcessor概念讲解该BeanPostProcessor接口定义了您可以实现的回调方法,以提供您自己...原创 2018-05-24 11:57:45 · 998 阅读 · 0 评论 -
Spring框架(SpringBoot)中redis报错(Could not get a resource from the pool、java.net.SocketTimeoutException)
Spring框架(SpringBoot)中redis报错在使用SpringBoot框架的时候,Spring一直会报两个特别纠结特别的烦的错误。尝试了很多种方法,都是失败的,不能成功。 经过我坚持不懈的努力寻找,终于把问题给解决了。一、第一个报错: java.net.SocketTimeoutException: Read timed out; nested excepti...原创 2018-06-04 16:27:03 · 41841 阅读 · 0 评论 -
Mavenjar包冲突的问题解决(亲测有效、实力证明)
一、今天在Pom中添加了一个依赖,导致Jar包冲突。 在启动项目的时候,会包jar包冲突的问题。下面以SpringBoot项目为例。 我在Pom.xml文件中添加了一个依赖: <dependency> <groupId>org.ethereum</groupId> <artifact...原创 2018-05-10 15:44:16 · 32550 阅读 · 0 评论 -
Spring Framework(框架)整体架构(不知道就有些搞笑了哈)
Spring在这个Spring框架大行其道的软件开发世界里,尚有很多工程师天天在用,但是从来不会去思考下,Spring框架的整体架构到底是什么样子的啊。 一、首先通过维基百科看看什么是Spring框架 维基百科的地址:Spring框架的维基百科二、看一下官网的介绍 Spring Framework 是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架,以...原创 2018-04-24 11:16:41 · 69467 阅读 · 4 评论 -
源码大杀器:怎样查看源码
一、以SpringBoot来分析下,首先获取到源码 二、点击GitHub获取源码 三、下载源码~/SpringSpace ⌚ 11:24:24$ lsemptydemo springdemogs-accessing-data-jpa-master ufile-javasdkspring-boot w...原创 2018-04-04 17:10:45 · 497 阅读 · 0 评论 -
权威分析@RequestParam和@RequestPart 的区别(官方文档)
一、今天写了两个文件上传的接口用到了@RequestParam和@RequestPart @RequestPart /** * 单文件上传 * @param file * @param bucket * @return */ @RequestMapping("uploadFile") public JsonResul...原创 2018-03-28 14:22:49 · 95460 阅读 · 21 评论 -
Spring航空母舰
作为当前主流的企业框架Spring,它提供了一整套相关的顶级项目,能让开发者快速的上手实现自己的应用。请看下图“Spring航空母舰”:名词解释: Spring IO platform:用于系统部署,是可集成的,构建现代化应用的版本平台,具体来说当你使用maven dependency引入spring jar包时它就在工作了。Spring Boot:旨在简化创建产品级的 Spring...原创 2018-03-22 11:39:34 · 603 阅读 · 0 评论 -
Spring生态系统(Spring可能大家都在用,很少去关注整体架构)
Spring的整体架构1、Spring框架至今已集成了20多个模块。这些模块主要被分如下图所示的核心容器、数据访问/集成,、Web、AOP(面向切面编程)、工具、消息和测试模块[5]:2、Core Container 核心容器 核心部分分为4大块,spring-core, spring-beans, spring-context, spring-expression. 其中core和...原创 2018-03-22 11:23:27 · 3234 阅读 · 0 评论 -
SpringBoot 2.0.0 注入SpingCloud 有bug(目前只有SpringBoot 1.5+ 版本的支持)
今天弄了一整天,想将SpringBoot 2.0.0 注入SpingCloud2.0.0版本有个bug,一天都没有弄好,晚上换了个1.5+的版本,同样的操作1.5+版本支持,2.0.0版本暂时不支持。 请升级一定要慎重啊,还是不太稳定有bug。 1、首先说正确的操作,在pom中新增依赖 版本要支持<properties> <project.build.s...原创 2018-03-20 21:30:56 · 8652 阅读 · 5 评论 -
Spring Boot配置难得的使用解释说明(小猪佩奇:配置加载是有优先级的)
SpringBoot的所有配置项都是可以在官方文档找到的:官方配置详解 介绍: Appendix A. Common application properties Various properties can be specified inside your application.properties file, inside your application.yml file, or a...原创 2018-03-22 14:38:51 · 2280 阅读 · 0 评论 -
SpringBoot 2.0.0新版和SpringBoot1.5.2版本中Tomcat配置的差别(坑)
2018年春SpringBoot 2.0.0 新版本有了很多新的改变,其中Tomcat配置上也有了很大改变1、之前老的版本TomcatEmbeddedServletContainerFactory取的是这个类 2、在SpringBoot 2.0.0框架中,已经没有类TomcatEmbeddedServletContainerFactory了 3、在老版本的Tomcat配置中,构造t...原创 2018-03-16 21:27:50 · 58874 阅读 · 3 评论 -
SpringBoot中的注解@SpringBootApplication和(@Configuration......)
以下选自官方的文档这里写链接内容 Many Spring Boot developers always have their main class annotated with @Configuration, @EnableAutoConfiguration, @ComponentScan. Since these annotations are so frequently ...原创 2018-03-09 14:23:01 · 3194 阅读 · 0 评论 -
SpringFramework核心技术一(IOC容器:IOC容器和Bean介绍)
题记:做技术还是得一步步慢慢来,先搞懂核心原理,一味的只会用,是没有未来的啊。在现在的区块链公司当带着大家做项目的时候,我就经常说作为一名工程师,一定不能浮于表面,如果想在技术这条路上走下去,懂原理才是根本。 现在框架太多,但是Spring依然是主流,很多工程师都说自己熟悉精通Spring、看过Spring源码,暂且不说有多少收获,咱还是从官方文档一步步慢慢来吧。一、Spring的核心技...原创 2018-05-10 21:31:35 · 325 阅读 · 0 评论 -
SpringFramework核心技术一(IOC容器:实例化一个容器)
实例化一个容器实例化Spring IoC容器很简单。提供给ApplicationContext构造函数的位置路径实际上是资源字符串,它允许容器从各种外部资源(如本地文件系统,Java等)加载配置元数据CLASSPATH。一、首先来搞一个例子实例化一个容器:services.xml是服务层的配置文件,daos.xml是数据访问文件。 按照下面的配置,就让容器将下面的两个...原创 2018-05-11 21:00:07 · 420 阅读 · 0 评论 -
SpringFramework核心技术一(IOC:使用ICO容器)
使用容器这ApplicationContext是高级工厂的接口,能够维护不同bean及其依赖项的注册表。使用该方法T getBean(String name, Class requiredType)可以检索bean的实例。一、在ApplicationContext可以读取bean定义并访问它们,如下所示:1.1 怎么使用容器首先来看一下容器: 1.2有很多...原创 2018-05-11 21:43:45 · 446 阅读 · 0 评论 -
SpringFramework核心技术一(IOC:ApplicationContext的附加功能)
标题正如本章介绍中所讨论的,该org.springframework.beans.factory 包提供了用于管理和操作bean的基本功能,包括以编程方式。该org.springframework.context软件包添加了 ApplicationContext 扩展BeanFactory界面的界面,以及扩展其他界面以提供更多应用程序框架导向风格的附加功能。许多人使用ApplicationCo...原创 2018-06-11 14:11:14 · 222 阅读 · 0 评论