归档:2018年

Spring boot基础: 国际化

在Spring Boot中,国际化是通过`MessageSource`和`LocalResolver`两个核心接口来实现。 Spring Boot提供了自动配置类来简化国际化的配置,其中最重要的配置类是`MessageSourceAutoConfiguration`和` LocaleCharsetMappingAutoConfiguration`。 `Mes

阅读全文

Spring Data Jpa配置多数据源的方法

要在项目中为Spring Data JPA配置超过一个数据源,就需要创建多个`Data Source Bean`和对应的`EntityManagerFactory`.以下是创建步骤。 #### 第1步 配置DataSource 在`application.yaml`里添加: ``` spring: datasource: first: url: jdbc:m

阅读全文

Spring Boot: AutoConfigurationImportFilter过滤器

在Spring Boot中,`AutoConfigurationImportFilter`是一个接口,用于控制自动配置类的导入过程,从而影响应用程序的自动配置过程,它的作用和原理是允许开发者通过自定义过滤器来决定哪些自动配置类应该被包含或排除,以达到更灵活第管理自动配置的目的。 ### 作用 1. **过滤自动配置类** 允许开发者根据特定条件过滤掉不需要的

阅读全文

Spring Booter: AutoConfigurationExcludeFilter过滤器

`CommonentScan`另一个默认配置的过滤器就是`AutoConfigurationExcludeFilter`. 在Spring Boot中,`AutoConfigurationExcludeFilter`是一个实现了`TypeFilter`接口的类。它的作用是在自动配置过程中排除不需要的自动配置类。这个过滤器可以帮助开发者精细控制哪些自动配置类应

阅读全文

Spring Boot: TypeExcludeFilter过滤器

在Spring Boot中,`TypeExcludeFilter`是`@CommonentScan`注解设定的两个默认过滤器中的一个。 `TypeExcludeFilter`是Spring boot提供的一种机制,用于在测试中排除某些类型的Bean。这在大型应用程序中非常有用,可以防止某些bean在测试中被加载,从而加快测试速度或比年冲突。 使用方法: ##

阅读全文

Spring Boot: ImportBeanDefinitionRegistrar

在Spring Boot中,`ImportBeanDefinitionRegistrar`是一个允许动态注册bean定义的接口。它提供了一种机制,可以在运行时根据特定逻辑动态地向Spring上下文中注册bean。 `ImportBeanDefinitionRegistrar`的主要作用是允许开发者在应用上下文初始化时动态地注册一个活多个bean定义,这种能录

阅读全文

Spring Boot: ImportSelector接口

在Spring Boot中,`ImportSelector`是一个允许动态选择和导入配置类的接口,它的主要作用是根据某些条件动态决定哪些配资类需要被导入Spring应用的上下文中。 ### 接口定义 ``` public interface ImportSelector { String[] selectImports(AnnotationMetadata

阅读全文

Spring Boot扩展包:Lombok

Lombok是一个在Spring Boot工程中常用的开发者工具扩展包,它能以简单的注解的形式简化java代码,提高开发人员的开发效率。 Lombok是一个Java库,旨在通过自动化一些繁琐的编码任务来简化Java代码的编写。它通过提供一组注解来实现,这些注解可以自动生成通常需要手动编写的代码,如getter、setter、构造函数、equals、hashC

阅读全文

Spring Boot基础功能:请求

### 1 常用注解 #### 1.1 @PathVariable 路径变量 `@PathVariable`注解与Restful风格路径匹配,可以用于方法的参数上,用于将URL中的变量绑定到方法的参数上。如果方法参数是一个Map 将会包含路径中所有的变量与值。 ``` @RequestMapping("/hospitals/{hsopitalID:[1-9]

阅读全文

Spring Boot基础功能:控制器

`@Controller`标识一个类是控制器,控制器是 Spring MVC 框架中的组件,用于处理客户端请求并返回视图或数据给客户端。Spring Boot 的 @Controller 注解使得创建 Web 控制器变得简单,它可以处理不同类型的请求,执行相应的业务逻辑,并返回适当的响应。 ### 1 关联注解 控制器的功能大部分都是通过注解完成,于其去学习

阅读全文

Spring Boot基础功能:CSRF

使用Spring Security防止CSRF跨域攻击。 添加Security依赖 ``` org.springframework.boot spring-boot-starter-freemarker org.springframework.security spring-security-web ``` 添加CsrfFilter ``` @SpringB

阅读全文

Spring Boot基础功能:事件与监听器

### 1 监听器Listener 在Spring Boot中,监听器(Listener)用于监听应用程序中发生的事件,以便在事件发生时执行特定的逻辑。监听器模式用于解耦组件之间的耦合性,使得应用程序可以灵活地响应事件和状态变化。可以实现特定的接口或使用注解来实现监听器。 #### 1.1 监听器的作用 * **事件驱动** 监听器可以实现事件模式编程,让不

阅读全文

Spring Boot基础功能:拦截器与过滤器

拦截器(Inteceptor)与过滤器(Filter)都用于在请求处理过程中执行特定操作,他们的实现方式、作用范围和使用场景上有一定的区别。 ### 1 拦截器 拦截器是一种动态拦截调用方法的机制,它可以在Spring Mvc中动态拦截控制器方法的执行,是基于Spring MVC框架的一部分。 **实现方式:** 拦截器通过实现HandlerIntercep

阅读全文

AC自动机-多模匹配算法C++实现

AC自动机(Aho-Corasick automation), 是一种常用的多模匹配算法,常用于查找一组关键词在某一篇文章是否存在,以及单个词组出现的频率. ### 基础知识 AC自动机可以认为是TrieTree结构+KMP算法. #### TrieTree 即字典树,又叫单词查找树或键树,是一种树状机构,属于哈希树的变种。 TrieTree常被用于统计和排

阅读全文