当前位置: 首页 > news >正文

网店网站建设规划方案做网站主要用哪种语言

网店网站建设规划方案,做网站主要用哪种语言,建立问答类的网站,游戏制作软件免费版spring 和 springboot的区别 自动配置原理 beanFactory接口和ApplicationContext接口 两个都是 IOC 容器 ApplicationContext接口是BeanFactory接口实现类的子类 功能: ApplicationContext扩展BeanFactory BeanFactoryApplicationContext控制反转国际化支持 …

spring 和 springboot的区别

自动配置原理

beanFactory接口和ApplicationContext接口

两个都是 IOC 容器

ApplicationContext接口是BeanFactory接口实现类的子类
在这里插入图片描述

功能:
ApplicationContext扩展BeanFactory

BeanFactoryApplicationContext
控制反转国际化支持 (MessageSource)
依赖注入资源访问 (ResourcePatternResolver根据通配符匹配文件)
读取环境信息(EnvironmentCapable )
bean生命周期的全部功能: 读取bean配置文档,管理bean的定义,加载,实例化,维护bean之间的依赖关系,负责bean的声明周期发布事件(ApplicationEventPublisher),事件传递 :通过实现ApplicationContextAware接口。

区别:

BeanFactoryApplicationContext
功能需要以编程的方式实现通过配置的方式实现
Spring里面最底层的接口,是IoC的核心一般直接使用ApplicationContext
手动注册BeanPostProcessor自动注册BeanPostProcessor
延迟加载:在使用某个Bean时(调用getBean()),才对该Bean进行加载实例化,注入Bean。不能提前发现Spring的配置问题。调用getBean方法时会抛出异常。在容器启动时,一次性创建了所有的Bean,预先载入。可以发现Spring中的配置错误,利于检查所依赖属性是否注入。运行时速度比较快,但占用内存空间,当应用程序配置Bean较多时,程序启动较慢。

实现

  1. BeanFactory :先解析bean,将描述信息存入map,getBean时调用构造方法,实例化bean
    对BeanFactory 添加BeanFactoryPostProcessor,补充bean的定义
    对bean添加BeanPostProcessor,针对bean生命周期的各个阶段进行扩展

    BeanFactoryPostProcessor 是在 Spring 容器加载了定义 bean 的 XML 文件之后,在 bean 实例化之前执行的。读取配置元数据,并且可以修改
    BeanPostProcessor 可以在 spring 容器加载了 bean 的定义文件并实例化 bean 之后,在执行 bean 的初始化方法前后,添加一些自己的处理逻辑。 有排序逻辑
    初始化方法:
    bean 实现 了 InitializingBean 接口,对应的方法为 afterPropertiesSet 。
    在 XML 文件中定义 bean 的时候,标签有个属性叫做 init-method,来指定初始化方法。
    BeanPostProcessor 的执行顺序是在 BeanFactoryPostProcessor 之后。

  2. BeanFactory

    • 不会主动调用BeanFactoryPostProcessor
    • 不会主动添加BeanPostProcessor
    • 不会主动初始化单例
    • 不会解析BeanFactory
    • 不会解析${} #{}

事务

事务隔离

Isolation.DEFAULT:默认的事务隔离级别,以连接的数据库的事务隔离级别为准。
Isolation.READ_UNCOMMITTED:读未提交,可以读取到未提交的事务,存在脏读。
Isolation.READ_COMMITTED:读已提交,只能读取到已经提交的事务,解决了脏读,存在不可重复读。
Isolation.REPEATABLE_READ:可重复读,解决了不可重复读,但存在幻读(MySQL 数据库默认的事务隔离级别)。
Isolation.SERIALIZABLE

传播行为

在这里插入图片描述

@transactional原理

通过aop的方式进行管理。动态代理
以 @Transactional 注解为植入点的切点,@Transactional注解标注的方法需要被代理。
在spring的bean的初始化过程中,就需要对实例化的bean进行代理,并且生成代理对象。
@Transactional注解的切面逻辑类似于@Around,

失效:

  1. @Transactional修饰的方法为非public方法, static final 也不行
    失败的原理是:@Transactional是基于动态代理来实现的,非public的方法,他@Transactional的动态代理对象信息为空,所以不能回滚。
  2. 在类内部没有添加@Transactional的方法,调用了@Transactional方法时。
    @Transactional是基于动态代理对象来实现的,而在类内部的方法的调用是通过this关键字来实现的,没有经过动态代理对象,所以事务回滚失效。
  3. @Transactional方法内部捕获了异常,没有在catch代码块里面重新抛出异常,事务也不会回滚。
http://www.yayakq.cn/news/185853/

相关文章:

  • 西安国内做网站的公司有哪些邯郸网站设计注册
  • 南宁网站建站推广wordpress加速网站插件
  • 网站建设培训报名wordpress 主题猫
  • 2014做网站wordpress 入门主题
  • 齐河县建设局网站深圳跑网约车怎么样
  • 2013年建设工程发布网站平昌县住房和城乡建设局网站
  • 哲学专业特色建设网站wordpress 主题制件
  • 制作网站备案幕布微博官网入口
  • 宿迁新站seo益阳市城乡和住房建设部网站
  • wordpress genesis合肥网站优化步骤
  • 企业网站设计有哪些新功能微小店网站建设多少钱
  • 如何做网站程序wordpress启用域名邮
  • 宁波网站开发制作成都建设网站首页
  • 上海企业网站建设费用平面设计素材网站排名
  • 魔立方 网站建设会员卡营销策划方案
  • 建设公寓租房信息网站wordpress怎么搜索代码
  • app与网站数据交互顺企网企业查询
  • 网站实名审核中心社区微网站建设方案ppt模板
  • 网页制作与网站设计部门网站建设工作总结
  • 优购物官方网站地址政务信息网站建设制度
  • 网站推广目标企业策划案例
  • 网站外链建设策略做数学题好的网站
  • 太原网站建设鸣蝉在平台企业网站推广怎么做
  • 网站优化师新的数据新闻
  • 免费网站建设源码网站开发费用摊销吗
  • 织梦网站做中英文双语言版本辽宁网站建设多少钱
  • 安阳网站建设哪家公司好网站备案协议书
  • 互联网 网站设计星巴克网络营销方式
  • 南京网站设计哪家公司好做网站可以自由职业吗
  • 做怎样的网站能赚钱搜索网站排名优化