
spring
文章平均质量分 90
开心就好啦啦啦
这个作者很懒,什么都没留下…
展开
-
SpringCloud整合Seata简易使用(注册中心Nacos)
启动成功后,即可访问 http://127.0.0.1:7091/#/login 该地址进入seata的webui,用户名与密码默认为seata,只需要在最外层方法上添加注解即可,子事务方法上不需要添加@GlobalTransactional与@Transactional注解。本案例是在windows中运行的,项目中启动的注册中心为Nacos,分布式事务Seata均在window下进行的。服务启动后,在Seata启动的控制台中可以看到相关日志如下。5. 在window中启动seata。原创 2024-06-04 19:31:23 · 1047 阅读 · 0 评论 -
spring中@Transactional不生效的几种原因
因为spring事务,默认情况下只会回滚RuntimeException(运行时异常)和Error(错误),对于普通的Exception(非运行时异常),它不会回滚。种场景很常见,方法A调用方法B,其中方法A未使用事务,而方法B使用了事务,此时方法B的事务是不生效的,例子如下,因为updateOrder方法拥有事务的能力是因为。如果事务注解使用的是@Transactional(),即使异常抛出了,但是抛出的是非RuntimeException类型异常,同样也不会回滚。原创 2024-04-07 14:16:34 · 1719 阅读 · 1 评论 -
Spring中Bean的安全性问题--面试题
Spring中除了很多内置Bean以外,其他的Bean都是通过Spring配置来声明的,然后由Spring容器统一加载。如:class(全类名)、id(Bean的唯一标识)、Scope(作用域),之后Spring容器根据配置内容使用对应的策略来创建Bean的实例。因此,多例 Bean 是不存在线程安全问题的。在 Spring 定义的作用域中,其中有 prototype(多例 Bean)和 singleton(单例 Bean)。Spring框架里的bean,在获取实例的时候都是默认的。原创 2023-04-12 14:25:00 · 342 阅读 · 0 评论 -
Spring中Bean的注入方式
随后编写spring的xml文件中,name属性是class属性的一个别名,class属性指类的全名,因为在SpringAction中有一个公共属性Springdao,所以要在标签中创建一个标签指定SpringDao。Spring使用静态工厂方法来创建Bean实例时,Spring将先解析配置文件,并根据配置文件指定的信息,通过反射调用静态工厂类的静态工厂方法,并将该静态工厂方法的返回值作为Bean实例,在这个过程中,Spring不再负责创建Bean实例,静态工厂和实例化工厂的区别。原创 2023-04-02 16:13:14 · 560 阅读 · 0 评论 -
Spring源码阅读(一)
一、初始化流程:1、spring容器的初始化时,通过this()调用了无参构造函数,主要做了以下三个事情:(1)实例化BeanFactory【DefaultListableBeanFactory】工厂,用于生成Bean对象(2)实例化BeanDefinitionReader注解配置读取器,用于对特定注解(如@Service、@Repository)的类进行读取转化成 BeanDefinition 对象,(BeanDefinition 是 Spring 中极其重要的一个概念,它存储了 bean 对象的原创 2021-03-06 15:17:30 · 167 阅读 · 1 评论