【Spring】
天青色的烟雨.
本博客只为加深自身知识体系,不为任何商业用途呦呦呦!
展开
-
Spring事务管理
事务的基本原理 Spring事务的本质其实就是数据库对事务的支持,使用JDBC的事务管理机制,就是利用java.sql.Connection对象完成对事务的提交,那在没有Spring帮我们管理事务之前,我们要怎么做。Connection conn = DriverManager.getConnection();try { conn.setAutoCommit(...原创 2019-04-15 17:50:26 · 124 阅读 · 0 评论 -
Spring MVC的@ControllerAdvice应用
通过@ControllerAdvice,我们可以对于控制器的全局配置放在同一个位置,注解了@Controller的类的方法可使用@ExceptionHandler、@ModelAttribute、@InitBinder注解到方法上,这对所有注解了@RequestMapping的控制器内的方法有效。@ExceptionHandler:用于全局处理控制器里的异常。 @ModelA...原创 2019-06-13 16:34:52 · 282 阅读 · 0 评论 -
SpringMVC常用注解整理
SpringMVC处理流程:1、 用户发送请求至前端控制器DispatcherServlet。 2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。 4、 Dispatcher...转载 2019-04-16 19:54:01 · 241 阅读 · 0 评论 -
Spring的后处理器-BeanPostProcessor跟BeanFactoryPostProcessors
Spring的后处理器只要有两大类,一个是针对BeanDefinition的容器级别的后处理器 - BeanFactoryPostProcessor(后面简称BFPP);一个是针对getBean操作获得的对象的后处理器 -BeanPostProcessor(后面简称BPP)。此两个后处理器不同之处主要有三点:1、触发时机不同,前者BFPP是在容器refresh方法中调用,而后者实际调用时机...原创 2019-07-21 17:50:57 · 816 阅读 · 0 评论 -
Spring IoC源码:refresh都干了什么
IoC 构建过程首先是源码的入口之一AnnotationConfigApplicationContext: public static void main(String[] args){ AnnotationConfigApplicationContext annotationConfigApplicationContext = ...原创 2019-07-21 20:24:46 · 556 阅读 · 0 评论 -
SpringData常用注解
一、java对象与数据库字段转化1.@Entity:标识实体类是JPA实体,告诉JPA在程序运行时生成实体类对应表2.@Table:设置实体类在数据库所对应的表名3.@Id:标识类里所在变量为主键4.@GeneratedValue:设置主键生成策略,此方式依赖于具体的数据库5.@Basic:表示简单属性到数据库表字段的映射(几乎不用)6.@Column:表示属性所对应字段名...原创 2019-06-10 17:17:41 · 417 阅读 · 0 评论 -
Spring JdbcTemplate模板
JdbcTemplate简介 Spring对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中。 JdbcTemplate位于中。其全限定命名为org.springframework.jdbc.core.JdbcTemplate。要使用JdbcTemlate还需一个这个包包含了一下事务和异常控制Jdb...原创 2019-04-15 15:56:55 · 187 阅读 · 0 评论 -
Spring AOP详细介绍
什么是AOP AOP(Aspect-OrientedProgramming,面向切面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候,OOP则显得无能为力。也就是说,OOP允许你定义从上到下的关系,...转载 2019-04-14 21:32:57 · 76949 阅读 · 12 评论 -
Aware自动装配
作用:自定义组件实现xxxAware来使用Spring容器底层的一些组件Aware 接口,提供了类似回调函数的功能。 自定义组件想要使用Spring 容器底层的一些组件(Application Context,Bean Factory);自定义组件需要实现xxxAware接口;在创建对象的时候,会调用接口规定的方法注入相关组件。 每一个xxxAware都有对应的Processor处理器。...转载 2019-04-14 20:29:24 · 255 阅读 · 0 评论 -
Spring自动装配及其注解
一.属性自动装配首先,准备三个类,分别是User,Cat,Dog。其中User属性拥有Cat和Dog对象。package com.hdu.autowire;public class User { private Cat cat; private Dog dog; private String str; public Cat getCat() ...转载 2019-04-14 17:53:18 · 978 阅读 · 0 评论 -
SpEL表达式
Spring 表达式语言(简称SpEL):是一个支持运行时查询和操作对象图的强大的表达式语言。语法类似于 EL:SpEL 使用 #{...} 作为定界符 , 所有在大括号中的字符都将被认为是 SpEL , SpEL 为 bean 的属性进行动态赋值提供了便利。通过 SpEL 可以实现:通过 bean 的 id 对 bean 进行引用。 调用方式以及引用对象中的属性。 计算表达式的值...原创 2019-04-14 16:08:30 · 488 阅读 · 0 评论 -
Spring中bean的生命周期
Spring 中bean 的生命周期短暂吗?生命周期源码解析 在spring中,从BeanFactory或ApplicationContext取得的实例为Singleton,也就是预设为每一个Bean的别名只能维持一个实例,而不是每次都产生一个新的对象使用Singleton模式产生单一实例,对单线程的程序说并不会有什么问题,但对于多线程的程序,就必须注意安全(Thread-s...转载 2019-04-14 12:27:51 · 129 阅读 · 0 评论 -
组件注册方式和常用注解
传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop、事物,这么做有两个缺点:1、如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大;如果按需求分开.xml文件,那么.xml文件又会非常多。总之这将导致配置文件的可读性与可维护性变得很低。 2、在开发中在.java文件和.xml文件之间不断切换,是一件麻烦的事,同时这种思维上的不连贯也会降低开发的效率。...原创 2019-04-14 17:14:45 · 575 阅读 · 0 评论 -
Spring事务的传播机制
事务的嵌套概念 所谓事务的嵌套就是两个事务方法之间相互调用。确定客户端和被调用端的事务边界(说得通俗一点就是多个具有事务控制的service的相互调用时所形成的复杂的事务边界控制)下图所示为7钟事务传播机制:定义两个事务:@Serviceclass ServiceA { @Transactional void methodA() { ...转载 2019-04-15 19:30:18 · 253 阅读 · 0 评论 -
SpringMVC同步与异步请求
前言 使用异步servlet主要原因就是因为,在service方法中业务逻辑如果碰到io操作时间比较长的操作,这样这个service方法就会长时间占用tomcat容器线程池中的线程,这样是不利于其他请求的处理的,当线程池中的线程处理任务时,任务由于长时间io操作,肯定会阻塞线程处理其他任务,引入异步servlet的目的就是将容器线程池和业务线程池分离开。在处理大io的业...原创 2019-04-16 20:36:48 · 3870 阅读 · 0 评论