spring
文章平均质量分 58
达文西不辅助
请叫我达文西
展开
-
SpringBoot 启动时实现自动执行代码的几种方式讲解
前言目前开发的SpringBoot项目在启动的时候需要预加载一些资源。而如何实现启动过程中执行代码,或启动成功后执行,是有很多种方式可以选择,我们可以在static代码块中实现,也可以在构造方法里实现,也可以使用@PostConstruct注解实现。当然也可以去实现Spring的ApplicationRunner与CommandLineRunner接口去实现启动后运行的功能。在这里整理一下,在这些位置执行的区别以及加载顺序。java自身的启动时加载方式static代码块static静态代转载 2022-03-23 13:53:43 · 445 阅读 · 0 评论 -
spring中用到哪些设计模式
spring中用到哪些设计模式1.工厂模式,这个很明显,在各种BeanFactory以及ApplicationContext创建中都用到了;2.模版模式,这个也很明显,在各种BeanFactory以及ApplicationContext实现中也都用到了;3.代理模式,在Aop实现中用到了JDK的动态代理;4.单例模式,这个比如在创建bean的时候。5.Tomcat中有很多场景都使用到了外观模式,因为Tomcat中有很多不同的组件,每个组件需要相互通信,但又不能将自己内部数据过多地暴露给其原创 2021-12-29 17:29:27 · 104 阅读 · 0 评论 -
SpringBoot 内部方法调用,事务不起作用的原因及解决办法
一、原因外部经过spring容器调用service的方法事务才生效,service类内部方法间相互调用事务不生效,也就是传说中的自调用失效问题。主要原因是 Spring数据库事务的约定,其实现原理是AOP,而AOP的原理是动态代理,在自调用的过程中,是类自身的调用,而不是代理对象去调用,那么就不会产生AOP,这样 Spring就不能把你的代码织入到约定的流程中,于是就产生了现在看到的失败场景。二、场景 @Resource private UserInfoService use转载 2021-12-17 14:17:58 · 10938 阅读 · 6 评论 -
关于 Java 的静态工厂方法,看这一篇就够了!
本文略长,所以先来个内容提要 序:什么是静态工厂方法 Effective Java 2.1 静态工厂方法与构造器不同的第一优势在于,它们有名字 2.2 第二个优势,不用每次被调用时都创建新对象 2.3 第三个优势,可以返回原返回类型的子类 2.4 第四个优势,在创建带泛型的实例时,能使代码变得简洁 除此之外 3.1 可以有多个参数相同但名称不同的工厂方法...转载 2019-09-10 17:43:58 · 975 阅读 · 1 评论 -
spring-test的用法
package sy.test;import org.junit.Before;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.con原创 2017-09-12 10:10:13 · 1102 阅读 · 0 评论 -
过滤器、监听器、拦截器的区别
1.过滤器Servlet中的过滤器Filter是实现了javax.servlet.Filter接口的服务器端程序,主要的用途是过滤字符编码、做一些业务逻辑判断等。其工作原理是,只要你在web.xml文件配置好要拦截的客户端请求,它都会帮你拦截到请求,此时你就可以对请求或响应(Request、Response)统一设置编码,简化操作;同时还可进行逻辑判断,如用户是否已经登陆、有没有权限访问该页面转载 2017-08-23 22:00:41 · 189 阅读 · 0 评论 -
Spring的事务管理机制
1. Spring的事务管理机制Spring事务管理高层抽象主要包括3个接口,Spring的事务主要是由他们共同完成的:PlatformTransactionManager:事务管理器—主要用于平台相关事务的管理TransactionDefinition: 事务定义信息(隔离、传播、超时、只读)—通过配置如何进行事务管理。TransactionStatus:事务具体运行状态—事务管理转载 2017-08-23 20:42:36 · 421 阅读 · 0 评论 -
Spring容器中Bean的作用域
当我们通过spring容器创建一个Bean实例时,不仅可以完成该Bean的实例化,而且还可以指定该Bean的作用域,Spring支持的五种作用域如下:singleton:单例模式,singleton作用域下的Bean将只产生一个实例,因此我们每次获取的实例都是同一实例。prototype:每次通过getBean()方法获取Bean实例时,都会产生一个新的Bean实例,因此每次的实例转载 2017-08-23 14:40:49 · 783 阅读 · 0 评论 -
Spring:创建Bean的几种方式
spring支持如下三种方式创建Bean1:调用构造器创建Bean2:调用静态工厂方法创建Bean3:调用实例工厂方法创建Bean一:调用构造方法创建Bean 调用构造方法创建Bean是最常用的一种情况Spring容器通过new关键字调用构造器来创建Bean实例,通过class属性指定Bean实例的实现类,也就是说,如果使用构造器创建Bean方法,则元素必须指转载 2017-08-23 14:22:52 · 2567 阅读 · 0 评论 -
Spring配置数据源的四种方式(小结)
第一种:使用spring自带的DriverManagerDataSource配置文件如下:xml version="1.0" encoding="UTF-8"?> beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchem转载 2017-09-04 22:21:49 · 1028 阅读 · 0 评论 -
Spring配置数据源的几种形式
Spring中提供了4种不同形式的数据源配置方式:1、Spring自带的数据源(DriverMangerDataSource);2、DBCP数据源;3、C3P0数据源;4、JNDI数据源。以上数据源配置需要用的Jar包在http://www.java2s.com/Code/Jar/c/Catalogc.htm中都可以下载到下面详细介绍这四种数据源配置转载 2017-09-04 22:13:18 · 250 阅读 · 0 评论 -
解惑 spring 嵌套事务
首先我们需要了解事物特性:数据库系统必须维护事务的以下特性(简称ACID): 原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持久性(Durability)原子性(Atomicity) 事务中的所有操作要么全部执行,要么都不执行;如果事务没有原子性的保证,那么在发生系统故障的情况下,数据库就有可能处于不一致状态。转载 2017-09-04 19:00:04 · 331 阅读 · 0 评论 -
spring——控制反转
转载来自:yuebinghaoyuan 依赖注入(Dependency Injection)和控制反转(Inversion of Control)是同一个概念。具体含义是:当某个角色(可能是一个Java实例,调用者)需要另一个角色(另一个Java实例,被调用者)的协助时,在传统的程序设计过程中,通常由调用者来创建被调用者的实例。但在Spring里,创建被调用者的工作不再由调用者来完转载 2016-12-20 11:52:46 · 307 阅读 · 0 评论 -
springmvc的执行流程详解
大牛的博客 http://blog.csdn.net/zuoluoboy/article/details/19766131/Spring MVC工作流程图图一图二 Spring工作流程描述 1. 用户向服务器发送请求,请求被Spring 前端控制Servelt DispatcherServlet捕获;转载 2017-08-16 21:51:45 · 290 阅读 · 0 评论 -
spring task 定时任务实现
一、引入spring相关jar包:二、在web.xml中配置springlistener> description>Spring监听器description> listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>listener>cont转载 2017-08-16 22:37:03 · 1691 阅读 · 0 评论 -
详解Java的Spring框架中bean的注入集合
这篇文章主要介绍了详解Java的Spring框架中bean的注入集合,Spring是Java的SSH三大web开发框架之一,需要的朋友可以参考下使用value属性和使用标签的ref属性在你的bean配置文件中的对象引用,这两种情况下可以处理单值到一个bean,如果你想通过多元值,如Java Collection类型List, Set, Map 及 Propertie转载 2017-06-16 16:34:37 · 868 阅读 · 0 评论 -
spring的基础知识----Spring的Bean有两种基本行为
Bean是spring窗口的最基本单元Bean有两种基本行为:Singleton:单态non-Singleton 或ProtoType原型如果如non-Singleton行为时Spring只负责使用new关键字创建一个Bean实例,一旦创建后,容器不再负责Bean的实例状态和跟踪实例;在Web应用的控制器Bean配置成non-Singleton行为,转载 2017-05-03 09:58:34 · 1499 阅读 · 0 评论