
Spring
文章平均质量分 71
Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。
进朱者赤
阿里非典型程序员一枚:微信公众号同名,记录平平无奇程序员在大厂的打怪升级之路。
Java、大数据、数据结构算法
展开
-
Spring常见面试题(含答案)
Spring的核心容器是指Spring容器,它负责初始化、配置和管理Bean对象。Spring容器有两种类型:BeanFactory和ApplicationContext。BeanFactory是基础容器接口,提供了基本的Bean管理功能;ApplicationContext是BeanFactory的子接口,增加了更多的高级功能,如国际化处理、事件发布等。Spring的声明式事务是通过AOP实现的,它允许开发者通过配置方式来定义事务的边界。原创 2019-08-19 11:30:18 · 2687 阅读 · 1 评论 -
SpringBoot自动装配原理
配合@EnableAutoConfiguration注解使用时,它主要扮演的是配置查找器的角色。这个注解利用其自身的完整类名org.springframework.boot.autoconfigure.EnableAutoConfiguration作为搜索的关键词(Key),来定位并加载一组相关的@Configuration类。SpringBoot的自动装配主要依赖于Spring框架的条件配置(Conditional Configuration)和Java的配置类(Java Config)功能。原创 2024-04-05 10:01:14 · 1823 阅读 · 2 评论 -
Spring中bean的执行初始化和销毁方法的4种方式详解
一、引入在java的实际开发过程中,我们可能需要在spring实例化一个bean的过程中,使用到初始化一个对象(bean)后立即初始化(加载)一些数据,或者在销毁一个对象之前进行执行一些事情等等。因此Spring为我们提供了一系列的方式:方式初始化 init销毁destroy1@bean 注解,指定属性initMethod@bean 注解,指定属性destroyMethod2xml形式,指定 init-methodxml形式,指定 destroy-method原创 2021-10-11 22:53:59 · 1744 阅读 · 0 评论 -
@Transactional 失效场景
1、检查方法是不是public的2、异常类型是不是unchecked异常 如果想check异常也想回滚怎么办,注解上面写明异常类型即可 @Transactional(rollbackFor=Exception.class) 类似的还有norollbackFor,自定义不回滚的异常3、数据库引擎要支持事务,如果是MySQL,注意表要使用支持事务的引擎,比如innodb,如果是myisam,事务是不起作用的4、是否开启了对注解的解析 <tx:annota...原创 2021-06-21 09:49:44 · 200 阅读 · 1 评论 -
【spring源码】一:spring工厂
spring容器之ApplicationContextApplicationContext的图解原创 2021-05-26 21:08:38 · 180 阅读 · 0 评论 -
model.addattribute()
代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。Model(模型)- 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。View(视图)- 视图代表模型包含的数据的可视化。Controller(控制器)- 控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开。原创 2019-06-19 20:05:02 · 60548 阅读 · 7 评论 -
Spring MVC运行原理
Spring MVC运行流程 即:SpringMVC流程1、 用户发送请求至前端控制器DispatcherServlet。2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。4、 DispatcherServlet调用HandlerAdapter处理器适配器。5、 H...原创 2021-05-20 22:15:50 · 214 阅读 · 0 评论 -
【建议一次性看完】Spring IOC 容器源码分析
Spring 最重要的概念是 IOC 和 AOP,本篇文章其实就是要带领大家来分析下 Spring 的 IOC 容器。既然大家平时都要用到 Spring,怎么可以不好好了解 Spring 呢?阅读本文并不能让你成为 Spring 专家,不过一定有助于大家理解 Spring 的很多概念,帮助大家排查应用中和 Spring 相关的一些问题。本文采用的源码版本是 4.3.11.RELEASE,算是 5.0.x 前比较新的版本了。为了降低难度,本文所说的所有的内容都是基于 xml 的配置的方式,实际使用已经很少原创 2021-04-27 21:15:19 · 494 阅读 · 0 评论 -
@Autowired与 @Resource区别
为什么程序在IDEA中会报错咧?其实这个程序是可以编译并运行通过的,即:是可以Spring是可以通过该注解创建bean的,如果换成是@Resource,则不会报错了。此处便引出了问题:@Autowired与 @Resource区别@Autowired是Spring的注解,@Resource是J2EE的注解,导入注解的时候这两个注解的包名不一样 @Autowired默认按照byTy...原创 2020-01-02 18:38:38 · 378 阅读 · 1 评论 -
Spring 注释总结
@EnableAspectJAutoProxy开启AOP,@EnableTransactionManagement开启spring事务管理,@EnableCaching开启spring缓存@EnableWebMvc 开启webMvc原创 2020-01-02 17:30:53 · 183 阅读 · 0 评论 -
@Transactional注解的全部属性详解
@Transactional注解的全部属性详解 属性 类型 描述 value String 可选的限定描述符,指定使用的事务管理器 propagation enum: Propagation 可选的事务传播行为设置 isolation enum: Isolation 可选的事务隔离级别设置 readOnly boolea...原创 2019-12-18 19:45:47 · 1221 阅读 · 0 评论 -
@RestController注解
@RestController注解:相当于@Controller+@ResponseBody两个注解的结合,返回json数据不需要在方法前面加@ResponseBody注解了,但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面...原创 2019-11-13 10:36:35 · 213 阅读 · 0 评论 -
spring 配置文件中的常用标记和属性,value&ref
3、使用ref的时候,spring容器会在引用后进行验证,验证当前的xml是否存在引用的bean。setter注入使用property标签,而构造器注入使用constructor-arg标签。使用value的时候,spring会在容器启动,实例化bean的时候进行验证。若注入对象中没有setter方法的实现,则使用构造器注入的方式。ref属性指向相应bean标签的name属性。ref可以引用其他的bean对象。1、ref引用一个已经存在的对象。value创建一个新的对象。原创 2019-11-05 09:53:08 · 1488 阅读 · 2 评论 -
Bean的作用范围的配置(重点)
Bean的作用范围的配置scope属性 :Bean的作用范围singleton :默认的,Spring会采用单例模式创建这个对象。 prototype :多例模式。(Struts2和Spring整合一定会用到) request :web项目中,Spring创建这个类以后,将这个类存入到request范围中。 sessio...原创 2019-09-26 21:54:47 · 332 阅读 · 0 评论 -
Spring事务中的若干问题
声明式事务管理建立在AOP之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。声明式事务最大的优点就是不需要通过编程的方式管理事务,这样就不需要在业务逻辑代码中掺杂事务管理的代码,只需在配置文件中做相关的事务规则声明(或通过基于@Transactional注解的方式),便可以将事务规则应用到业务逻辑中。transac...转载 2019-07-12 17:38:59 · 132 阅读 · 0 评论 -
Spring事务管理之几种方式实现事务
编程式事务管理 对基于 POJO 的应用来说是唯一选择。我们需要在代码中调用beginTransaction()、commit()、rollback()等事务管理相关的方法,这就是编程式事务管理。 基于 TransactionProxyFactoryBean的声明式事务管理 <!-- 事务管理器 --> <bean id="myTracnsaction...转载 2019-07-12 17:28:58 · 220 阅读 · 0 评论 -
@interface使用详解
@interface不是接口是注解类,在jdk1.5之后加入的功能,使用@interface自定义注解时,自动继承了java.lang.annotation.Annotation(annotation 英[ˌænəˈteɪʃn] 美[ˌænəˈteɪʃn] )接口,由编译程序自动完成其他细节,我们通过反编译可以看到,源代码如下://保留的环境@Retention(RUNTI...原创 2019-07-23 14:21:54 · 2792 阅读 · 0 评论 -
@RequestMapping 和 @GetMapping @PostMapping 区别
@RequestMapping 和 @GetMapping @PostMapping 区别 @GetMapping:组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。 @PostMapping:组合注解,是@RequestMapping(method = RequestMethod.POST)的缩写。 Spr...原创 2019-06-12 20:21:53 · 1375 阅读 · 0 评论 -
Spring注解@Resource和@Autowired区别对比
@Resource和@Autowired都是做bean的注入时使用,其实@Resource并不是Spring的注解,它的包是javax.annotation.Resource,需要导入,但是Spring支持该注解的注入。1、共同点两者都可以写在字段和setter方法上。两者如果都写在字段上,那么就不需要再写setter方法。2、不同点(1)@Autowired@Autowire...转载 2019-06-10 17:27:10 · 155 阅读 · 0 评论 -
spring中给属性赋值的三种方式
Main.javapackage com.vow.spring;import org.springframework.context.support.ClassPathXmlApplicationContext;public class Main { public static void main(String[] args) { //1. 创建 Spring...原创 2019-06-04 14:22:02 · 3077 阅读 · 0 评论 -
Spring中Bean的作用域(5种)
容器中Bean的作用域通过Spring容器创建一个Bean实例时,指定特定的作用域。Spring支持如下五种作用域:singleton: 单例模式,在整个Spring IoC容器中,只生成一个实例。 prototype: 多例模式,每次通过容器的getBean()方法获取prototype作用域的Bean时,都将产生一个新的Bean实例。 request: 对于一次HTTP请求,Be...原创 2019-06-03 18:11:20 · 834 阅读 · 0 评论 -
spring版本的经典入门" Hello world "
开始编写Spring的第一个程序HelloWorld注意:如果是使用MyEclipse进行开发的朋友可以直接右键需要导入Spring的项目–>ConConfigure Facet–>Install Spring Facet即可,不需要执行下面的(1)(2)步。(1)下载STS(带有sts插件的Eclipse)点击下载STS(2)下载相关的JAR包( spring-fram...原创 2019-06-04 17:51:22 · 236 阅读 · 0 评论 -
Spring中bean的加载过程
1.获取配置文件资源2.对获取的xml资源进行一定的处理检验3.处理包装资源4.解析处理包装过后的资源5.加载提取bean并注册(添加到beanDefinitionMap中)原创 2019-03-20 18:55:55 · 193 阅读 · 0 评论