SpringBoot 之集成 Json
SpringBoot 之集成 Json简介Spring Boot 支持的 Json 库Spring Boot 支持三种 Json 库: Gson Jackson JSON-B Jackson 是 Spring Boot 官方推荐的默认库。 Spring Boot 提供了 Jackson 的自动配置,Jackson 是 spring-boot-starter-json 的一部分。当 Jackson 在类路径上时,会自动配置 ObjectMapper bean。 Spring Boot 提供了 Gson 的自动配置。当 Gson 在 classpath 上时,会自动配置 Gson bean。提供了几个 spring.gson.* 配置属性来自定义配置。为了获得更多控制,可以使用一个或多个 GsonBuilderCustomizer bean。 Spring Boot 提供了 JSON-B 的自动配置。当 JSON-B API 在 classpath 上时,将自动配置 Jsonb bean。首选的 JSON-B 实现是 Apache Johnzon,它提供了依赖关系管理。 Spri...
Spring 访问 Elasticsearch
Spring 访问 Elasticsearch简介Elasticsearch 是一个开源的、分布式的搜索和分析引擎。 通过 REST 客户端连接 Elasticsearch如果在 classpath 路径下存在 org.elasticsearch.client:elasticsearch-rest-client jar 包,Spring Boot 会自动配置并注册一个 RestClient Bean,它的默认访问路径为:localhost:9200。 你可以使用如下方式进行定制: 123spring.elasticsearch.rest.uris=http://search.example.com:9200spring.elasticsearch.rest.username=userspring.elasticsearch.rest.password=secret 您还可以注册实现任意数量的 RestClientBuilderCustomizer bean,以进行更高级的定制。要完全控制注册,请定义 RestClient bean。 如果 classpath 路径有 org.e...
SpringBoot 之 banner 定制
SpringBoot 之 banner 定制简介Spring Boot 启动时默认会显示以下 LOGO: 1234567 . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.1.1.RELEASE) 实际上,Spring Boot 支持自定义 logo 的功能。 让我们来看看如何实现的。 只要你在 resources 目录下放置名为 banner.txt、banner.gif 、banner.jpg 或 banner.png 的文件,Spring...
Spring 访问 MongoDB
Spring 访问 MongoDB简介MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构由键值对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。 在 Spring 中,spring-data-mongodb 项目对访问 MongoDB 进行了 API 封装,提供了便捷的访问方式。 Spring Data MongoDB 的核心是一个以 POJO 为中心的模型,用于与 MongoDB DBCollection 交互并轻松编写 Repository 样式的数据访问层。 spring-boot 项目中的子模块 spring-boot-starter-data-mongodb 基于 spring-data-mongodb 项目,做了二次封装,大大简化了 MongoDB 的相关配置。 Spring Boot 快速入门引入依赖在 pom.xml 中引入依赖: 1234<dependency> <groupId...
Java 开发环境
Java 开发环境 📌 关键词: JAVA_HOME、CLASSPATH、Path、环境变量、IDE 下载进入 JDK 官方下载地址 ,根据自己的环境选择下载所需版本。 安装windows 环境的 jdk 包是 exe 安装文件,启动后根据安装向导安装即可。 Linux 环境的 jdk 包,解压到本地即可。 环境变量Windows计算机 > 属性 > 高级系统设置 > 环境变量 添加以下环境变量: JAVA_HOME:C:\Program Files (x86)\Java\jdk1.8.0_91 (根据自己的实际路径配置) CLASSPATH:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; (注意前面有个”.”) Path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; Linux执行 vi /etc/profile ,编辑环境变量文件 添加两行: 12export JAVA_HOME=path/to/javaexport PATH=JAVA_HOME/bin:JAVA_HOM...
Spring 面试
Spring 面试综合篇不同版本的 Spring Framework 有哪些主要功能? Version Feature Spring 2.5 发布于 2007 年。这是第一个支持注解的版本。 Spring 3.0 发布于 2009 年。它完全利用了 Java5 中的改进,并为 JEE6 提供了支持。 Spring 4.0 发布于 2013 年。这是第一个完全支持 JAVA8 的版本。 什么是 Spring Framework? Spring 是一个开源应用框架,旨在降低应用程序开发的复杂度。 它是轻量级、松散耦合的。 它具有分层体系结构,允许用户选择组件,同时还为 J2EE 应用程序开发提供了一个有凝聚力的框架。 它可以集成其他框架,如 Structs、Hibernate、EJB 等,所以又称为框架的框架。 列举 Spring Framework 的优点。 由于 Spring Frameworks 的分层架构,用户可以自由选择自己需要的组件。 Spring Framework 支持 POJO(Plain Old Java Object) 编程,从而具备持续...
SQL 语法速成
SQL 语法速成 本文针对关系型数据库的基本语法。限于篇幅,本文侧重说明用法,不会展开讲解特性、原理。 本文语法主要针对 Mysql,但大部分的语法对其他关系型数据库也适用。 SQL 简介数据库术语 数据库(database) - 保存有组织的数据的容器(通常是一个文件或一组文件)。 数据表(table) - 某种特定类型数据的结构化清单。 模式(schema) - 关于数据库和表的布局及特性的信息。模式定义了数据在表中如何存储,包含存储什么样的数据,数据如何分解,各部分信息如何命名等信息。数据库和表都有模式。 行(row) - 表中的一条记录。 列(column) - 表中的一个字段。所有表都是由一个或多个列组成的。 主键(primary key) - 一列(或一组列),其值能够唯一标识表中每一行。 SQL 语法 SQL(Structured Query Language),标准 SQL 由 ANSI 标准委员会管理,从而称为 ANSI SQL。各个 DBMS 都有自己的实现,如 PL/SQL、Transact-SQL 等。 SQL 语法结构 SQL 语法结构...
Spring 4 升级踩雷指南
Spring 4 升级踩雷指南前言最近,一直在为公司老项目做核心库升级工作。本来只是想升级一下 JDK8 ,却因为兼容性问题而不得不升级一些其他的库,而其他库本身依赖的一些库可能也要同步升级。这是一系列连锁问题,你很难一一识别,往往只有在编译时、运行时才能发现问题。 总之,这是个费劲的活啊。 本文小结一下升级 Spring4 的连锁问题。 为什么升级 spring4升级 Spring4 的原因是:Spring 4 以前的版本不兼容 JDK8。当你的项目同时使用 Spring3 和 JDK8,如果代码中有使用 JDK8 字节码或 Lambada 表达式,那么会出问题。 也许你会问,为什么不使用最新的 Spring 5 呢?因为作为企业软件,一般更倾向使用稳定的版本(bug 少),而不是最新的版本,尤其是一些核心库。 更多细节可以参考: https://spring.io/blog/2013/05/21/spring-framework-4-0-m1-3-2-3-available/ spring 4 重要新特性Spring 4 相比 Spring 3,引入许多新特性,这里列举几条较...
Spring Web 综述
Spring Web 综述快速入门下面,通过一个简单的示例来展示如何通过 Spring 创建一个 Hello World Web 服务。 (1)pom.xml 中引入依赖 1234<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency> (2)定义 Controller Spring 构建 RESTful 服务的方法,HTTP 请求由 Controller 处理。 这些组件由 @RestController 注解标识。 【示例】下面的示例定义了一个处理 /greeting 的 GET 请求 12345678910111213141516import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.s...
Spring集成缓存
Spring 集成缓存中间件 Spring 中提供了缓存功能的抽象,允许你在底层灵活的替换缓存实现,而对上层暴露相同的缓存接口。 缓存接口Spring 的缓存 API 以注解方式提供。 开启注解Spring 为缓存功能提供了注解功能,但是你必须启动注解。你有两个选择:(1) 在 xml 中声明像上一节 spring-ehcache.xml 中的做法一样,使用<cache:annotation-driven/> 1<cache:annotation-driven cache-manager="cacheManager"/> (2) 使用标记注解你也可以通过对一个类进行注解修饰的方式在这个类中使用缓存注解。范例如下: 1234@Configuration@EnableCachingpublic class AppConfig {} 缓存注解使用Spring 对缓存的支持类似于对事务的支持。首先使用注解标记方法,相当于定义了切点,然后使用 Aop 技术在这个方法的调用前、调用后获取方法的入参和返回值,进而实现了缓存的...