Spring 笔记
用于记录 Spring 的学习
CrazyIdeas
辛勤耕耘的码农
展开
-
Spring之Spring Data JPA的学习笔记
随笔延迟加载,随着我们的对象关系变得越来越复杂,有时候我们并不希望立即获取完整的对象间关系。延时加载 允许我们只在需要的时候获取数据。预先加载,与 延迟加载是相对的。借助于预先抓取,我们可以使用一个查询获取完整的关系对象。级联,在更新数据库中的表会同时修改其他表。在 Spring 中使用 Hibernate:Hibernate 所需要的主要接口是 Session,它提供了基本的数据访问功能,如保存、更新、删除以及从数据库加载对象的功能。获取 Hibernate Session 对象通过 .原创 2020-07-27 17:14:30 · 154 阅读 · 0 评论 -
Spring之 通过 JDBC 连接数据库、插入数据、查询数据、命名参数查询
随笔 ,笔记导入依赖:<dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId></dependency><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-.原创 2020-07-26 18:41:27 · 336 阅读 · 0 评论 -
Spring之通过JNDI查找的数据源、通过 JDBC 驱动程序定义的数据源、使用 Profile 选择数据源
随笔,笔记为了避免 持久化的逻辑分散到应用的各个组件中,最好将数据访问的功能放到一个或多个专注于此项工作的组件中,这样的组件通常被称为数据访问对象(DAO)或Repository。Repository 应该以接口的方式暴露功能。好处:它使得 服务对象易于测试,应为它不与特定的数据访问实现绑定在一起。只有数据访问相关的方法才通过接口进行暴露,实现灵活的设计,并且切换持久层 对应用程序其他部分影响最小。Spring 为数据访问提供了统一的异常体系JDBC 中的 SQLException 被.原创 2020-07-26 15:23:20 · 508 阅读 · 0 评论 -
Spring之Spring Security 处理请求路径,自定义登录页面,退出功能,跨站请求,选定HTTP还是HTTPS
随笔,笔记在上一篇中,我们了解到可以重写 WebSecurityConfigurerAdapter 中的 三个configure() 方法对其进行详细的配置。 已经学习了一个,下面学习第二个,void configure(HttpSecurity http),对请求进行配置。@Configuration@EnableWebSecuritypublic class SecurityConfig extends WebSecurityConfigurerAdapter { @Override.原创 2020-07-25 16:03:54 · 2060 阅读 · 0 评论 -
Spring之Spring Security 基于LDAP的认证、引用远程服务器、嵌入式LDAP服务器、自定用户认证,自定义服务
随笔,笔记。连接上一篇基于 LDAP 的认证LDAP是 Lightweight Directory Access Protocol(轻量级目录访问协议)的缩写。找到一篇介绍LDAP的文章,不了解LDAP的可以看看@Configuration@EnableWebSecuritypublic class SecurityConfig extends WebSecurityConfigurerAdapter { // 配置 user-detail 服务 @Override .原创 2020-07-24 17:27:49 · 1051 阅读 · 2 评论 -
Spring之配置Spring Security、配置Security 安全细节、基于内存的存储、基于数据的认证、自定义转码器
随笔,笔记添加依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId></dependency>Spring SecuritySpring Security 是为基于Spring的应用程序提供声明式安全保护的安全性框架,能够在web请求级.原创 2020-07-24 17:22:56 · 406 阅读 · 0 评论 -
Spring之配置WebFlow、流程组件、状态、转移、流程数据和作用域
随笔,读书笔记。书中作者在写这个本书时,Web Flow 还没有支持 Java 配置,所以用 xml 的方式进行讲解的。现在 Web Flow 已经支持 Java 配置了。本文 只要 学习 Web Flow 一些概念 和 思想Spring Web Flow 是一个 web 框架,适应于元素按规定流程运行的程序。配置 Web FlowWeb Flow 是在 Spring MVC 的基础上建立的,所以所有流程的请求都要首先经过 DispatcherServlet。装配流程执行器:作用: 负责创建.原创 2020-07-23 14:51:16 · 826 阅读 · 0 评论 -
Spring之重定向,重定向传递数据
随笔,笔记为什么使用重定向?重定向 ,可以防止用户点击浏览器的刷新按钮或后退箭头时,客户端重新执行危险的 POST 请求。Spring 借助redirect:前缀的字符串,来指导浏览器进行重定向的路径。@RequestMapping(value = "/test",method = RequestMethod.POST)public String index(@Valid User user,Errors errors){ if (errors.hasErrors()) return .原创 2020-07-22 14:37:58 · 698 阅读 · 0 评论 -
Spring之异常处理,自定义异常,控制器通知处理异常
随笔处理异常Spring 提供了多种方式将异常转换为响应:特定的 Spring 异常将会自动映射为指定的HTTP状态码。异常上添加 @ResponseStatus 注解,从而将其映射为某一个HTTP状态码。在方法上可以添加 @ExceptionHandler 注解,使其用来处理异常。Spring 提供的一些异常:Spring异常HTTP状态码BindException400ConversionNotSupportedException500HttpM.原创 2020-07-22 12:20:10 · 238 阅读 · 0 评论 -
Spring之配置 multipartResolver 解析器、上传文件、处理文件
随笔multipart格式的数据 会将 一个表单拆分为 多个部分,每个部分对应一个输入域。在一般的表单输入域中,它所对应的部分中会放置文本型数据,但是如果上传文件的话,它所对应的部分可以是二进制。配置 multipart 解析器:有两个:CommonsMultipartResolver:使用 Jakarta Commons FileUpload 解析 multiparty。StandardServletMultipartResolver:依赖于 Servlet 3.0 对 multipart.原创 2020-07-21 17:58:59 · 5284 阅读 · 1 评论 -
Spring之Java定义DispatcherServlet、添加Filter和Servlet、web.xml定义DispatcherServlet、Java配置和web.xml配合
随笔记自定义DispatcherServlet配置定义一个类 ,继承 AbstractAnnotationConfigDispatcherServletInitializer 开始重写 里面的一些方法:重写 customizeRegistration 方法:AbstractAnnotationConfigDispatcherServletInitializer 将 DispatcherServlet 注册到 Servlet 容器中之后,就会调用 customizeRegistration().原创 2020-07-19 17:56:21 · 739 阅读 · 0 评论 -
Spring之视图解析器、国际化
随笔记,分类于 乱七八糟 下,读《Spring 实战4》笔记将控制器中请求处理的逻辑和视图中的渲染实现解耦是Spring MVC的一个重要特性。Spring MVC 定义一个 ViewResolver 接口。public interface ViewResolver { @Nullable View resolveViewName(String var1, Locale var2) throws Exception;}传入 视图名 和 Locale 对象,会返回 一个 Vie.原创 2020-07-19 14:00:28 · 140 阅读 · 0 评论 -
Spring之如何 校验属性的值 详细说明
随笔记,分类于 乱七八糟 下。读 《spring 实战4》笔记Spring 表单校验spring mvc 提供了对 Java校验 api 的支持。Java校验api 定义了多个注解,将注解放到属性上,可以限制属性的值。@AssertFalse 和 @AssertTrue要求传给 属性的值 必须是 false或true。要求属性是 Boolean 类型,否则会报javax.validation.UnexpectedTypeException。@AssertTrue(message = "s.原创 2020-07-18 17:56:00 · 819 阅读 · 0 评论 -
Spring MVC之请求经历的过程、搭建简单Spring MVC、Controller如何接收传值、
MVC(Model-View-Controller)模式。## 请求在Spring MVC 的一个过程1. 来自客户的请求,带有用户所要请求的内容信息。2. 第一站到达,DispatcherServlet(前端控制器),它去 查询处理器映射(handler mapping)。3. 通过 handler mapping 来确定 对应的控制器。处理器映射会根据请求所携带的URL信息来进行决策。把结果反馈给DispatcherServlet。4. 选择了适合的控制器(Controller),Dispa原创 2020-07-16 22:59:16 · 193 阅读 · 0 评论 -
Spring之AOP怎么回事、编写切点、创建切面、通知中的参数、对象引入新功能
AOP常用术语通知(Advice)切面的工作被称为通知。定义了切面是什么以及何时使用。Spring切面可以应用 5 种类型的通知:前置通知(Before):在目标方法被调用之前调用通知功能。后置通知(After):在目标方法完成之后调用通知。返回通知(After-returning):在目标方法成功执行之后调用通知。异常通知(After-throwing):在目标方法抛出异常后调用通知。环绕通知(Around):在被通知的方法调用之前和调用之后执行自定义的行为。连接点(Join poi原创 2020-07-14 17:54:44 · 275 阅读 · 0 评论 -
Spring之Bean的作用域、会话和请求的作用域、占位符,SpEL
Bean 的作用域Spring 中的Bean 默认是以单例(Singleton)的形式创建的。还有多种作用域 可以选择:单例(Singleton):在整个应用中,只创建bean的一个实例。原型(Prototype):每次注入或在ApplicationContext获取 都创建一个新的Bean实例。会话(Session):在 web 应用中,为每个会话创建一个 bean 实例。请求(Request):在 web 应用中,为每个请求创建一个 bean 实例。在应用时,使用 @Scope 注解 进原创 2020-07-12 23:48:47 · 353 阅读 · 0 评论 -
Spring高级装配,Profile的使用,条件化Bean,解决歧义性
随笔,分类于 乱七八糟 下。阅读于《Spring实战 4》笔记高级装配环境 与 Profile让各个 开发环境 之间切换更加方便。使用 Profile。配置 profile bean要使用 profile,你首先要将所有不同的 bean 定义整理到一个或多个profile之中,在将应用部署到每个环境时,要确保对应的profile 处于激活(active)的状态。@Configuration@Profile("dev")public class A { @Bean("a") publi.原创 2020-07-11 21:33:53 · 326 阅读 · 0 评论 -
Spring 自动装配,Java 配置,XML配置、混合使用
一篇 随笔记,无排版。分类于 乱七八糟 名下。来自 《Spring 实战4》的阅读笔记装配 Bean装配:创建应用对象之间协作关系的行为。spring 三种配置方案自动装配Java 配置XML 配置三种方式 可以混合使用,推荐程度,由上到下 依次降低。自动装配自动装配分为:组件扫面 : 用于 在ApplicationContext 中创建 Bean。自动装配:满足各个Bean 之间的依赖关系。代码演示@Component // 标志 此类 会被 创建为 Beanpub.原创 2020-07-10 22:51:38 · 599 阅读 · 2 评论 -
Spring 注入,AOP,装配笔记
本文 作者 就是随笔记,几乎没有排版,里面也是乱七八糟,于是把它归为乱七八糟分类。对了 这是阅读《Spring实战4》的随笔。什么是 依赖注入?DI 功能是如何实现的任何一个有实际意义的应用都会由多个类组成,这些类相互之间进行协作来完成特定的业务逻辑。通过DI 对象的依赖关系将由系统中负责协调个对象的第三方组件在创建对象的时候进行设定。对象无需自行创建或管理它们的依赖关系。构造器注入:在构造的时候把探险任务作为构造器参数传入。装配 创建应用组件之间协作的行为。spring 有 Java配.原创 2020-07-09 23:42:36 · 167 阅读 · 0 评论