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

浙江龙元建设集团 网站企业做推广有用吗

浙江龙元建设集团 网站,企业做推广有用吗,中国建设网官方,外贸seo是啥Spring框架 1. BeanFactory和ApplicationContext有何区别 BeanFactory是Spring最底层的接口#xff0c;是IoC的核心#xff0c;定义IoC的基本功能。 ​ BeanFactory具有#xff1a;延迟实例化的特性。在启动的时候#xff0c;不会实例化Bean#xff0c;只有有需要从容器…Spring框架 1. BeanFactory和ApplicationContext有何区别 BeanFactory是Spring最底层的接口是IoC的核心定义IoC的基本功能。 ​ BeanFactory具有延迟实例化的特性。在启动的时候不会实例化Bean只有有需要从容器中获取Bean才会实例化Bean。一般用在移动设备等内存较小的地方 ​ ApplicationContext是BeanFactory子接口相较于BeanFactory多提供国际化、资源访问、AOP等功能。 ​ ApplicationContext在启动的时候会实例化所有Bean可以为Bean配置Lazy-init实现延迟实例化。 2. Spring Bean的生命周期 一、加载Bean定义 ​ 1、loadBeanDefinitions:将Bean定义记录在beanDefinitionMap中 registerBeanDefinition类- registerBeanDefinition()方法 二、创建Bean对象 ​ 1、构建对象 ​ 通过遍历对对象进行逐个构造。 AbstractAutowireCapableBeanFactory类-createBeanInstance() ​ 2、填充属性 populateBean() ​ 3、初始化 initializeBean() ​ 3.1applyBeanPostProcessorsBeforeInitialization()初始化前应用Bean后置处理器 ​ 3.2invokeInitMethods()初始化 ​ 3.3applyBeanPostProcessorsAfterInitialization()初始化后应用Bean后置处理器 三、使用 ​ 初始化完成后的Bean对象即可正常使用。 四、销毁 ​ 1、销毁前 ​ PreDestory注解的方法 ​ 2、销毁 ​ DisposableBean-destory() ​ Bean-destory-method() 3. Spring IOC如何实现 IoCInversion of Control 控制反转。 通俗易懂的理解我们拥有创建对象的控制能力反转为由程序进行创建对象不在由我们去创建对象。 IoC有多种实现方式其中最常见的DI(Dependency Injection 依赖注入)。对象通过构造方法参数、工厂方法参数、构造或工厂方法返回后在对象实例上设置的属性来定义它们的依赖项从类外部注入依赖容器在创建bean时注入这些依赖项。 Spring常见依赖注入有3种方式1、构造方法 2、set 3、注解注入Autowired Spring提供了两种IoC容器 1、BeanFactory 2、ApplicationContext 具体可参考 面试题1 在了解了Spring Bean的生命周期后我们能够发现Bean对象的创建已经不是由我们手动创建了而是通过Spring底层的组件进行加载-创建-销毁这一过程就是Spring IoC的过程。 4. 说说Spring AOP及实现原理 ​ 4.1 AOP概念 ​ AOPAspect Orient Programming 面向切面编程。 ​ 目的在不修改源代码的情况下实现添加额外功能的技术。 ​ 个人理解源代码为一颗笔直的树需要在这棵树上看到更多的种类在树旁重新栽显然耗时费力此时通过嫁接技术在树的切面嫁 接即可实现目的。AOP ​ 4.2 AOP使用 具体使用可参考https://blog.csdn.net/Cr1556648487/article/details/126777903 ​ 4.3 AOP原理 ​ SpringAOP底层采用动态代理支持JDK动态代理以及Cglib动态代理。 ​ JDK动态代理只能为接口创建动态代理实例。需要获得被代理类的接口信息通过反射生成一个实现代理接口的动态代理类然后通过构造方法生成动态代理类的实例对象在调用具体方法前使用invokeHandler()处理。 ​ Cglib动态代理以来asm包把被代理类的字节码加载进来生成其子类。 5. 动态代理cglib与JDK JDK动态代理 通过实现InvocationHandler接口的invoke()方法定义切面逻辑。 使用条件 1、业务目标对象只能为接口创建代理实例2、拦截器实现InvocationHandler3、通过Proxy.newProxyInstance()生成代理对象 Cglib动态代理 基于ASM字节码生成库允许在运行时对字节码修改和动态生成。 JDK动态代理与Cglib动态代理区别 JDK动态代理只针对接口实现类进行代理。也就是只面向接口。 Cglib针对类实现代理采用的是继承方法。 6. Spring事务实现方式 编程式事务 概念在业务代码中精确定义事务边界 代码块中调用beginTransaction()、commit()、rollback()等相关方法 声明式事务 有助于用户将操作与事务规则进行解耦。简单地说编程式事务侵入到了业务代码里面但是提供了更加详细的事务管理而声明式事务由于基于AOP所以既能起到事务管理的作用又可以不影响业务代码的具体实现。 ​ 使用 ​ EnableTransactionManagement开启事务管理 ​ Transactional开启事务 Transactional事务注解失效原因 方法修饰符不为public方法内部调用事务事务内捕获异常未抛出新异常rollbackFor属性配置错误 7. Spring事务的底层原理 使用事务步骤 获取数据库连接开启事务执行数据操作提交事务/回滚事务关闭连接 Spring在框架中做了开启事务、提交事务、回滚事务的操作使得业务代码和事务代码解耦。这一功能是基于AOP实现的。 8. 自定义注解实现功能 参考https://www.jianshu.com/p/7c2948f64b1c 9. SpringMVC运行流程 核心代码DispatcherServlet.java - doDispatch() 用户请求DispatcherServlet中央调度器通过请求查找HandlerMapping获取HandlerDispatcherServlet中央调度器通过Handler查找HandlerAdapeter处理器适配器调用用户编写的controller返回ModelAndView基于JSON交互的返回ModelAndView为空此时前端已能接收到返回值DispatcherServlet中央调度器通过ModelAndView查找对应ViewResolver返回View渲染View返回渲染后的View 10. SpringMVC启动流程 详情查看https://blog.51cto.com/u_9587581/2398187 11. Spring的单例实现 Spring的单例模式是采用单例注册表实现的。 private final MapString, Object singletonObjects new ConcurrentHashMapString, Object(256); private final MapString, Object earlySingletonObjects new ConcurrentHashMapString, Object(16); private final MapString, ObjectFactory? singletonFactories new HashMapString, ObjectFactory?(16);//Spring获取单例模式方法 protected Object getSingleton(String beanName, boolean allowEarlyReference) {Object singletonObject this.singletonObjects.get(beanName);if (singletonObject null isSingletonCurrentlyInCreation(beanName)) {singletonObject this.earlySingletonObjects.get(beanName);if (singletonObject null allowEarlyReference) {synchronized (this.singletonObjects) {singletonObject this.singletonObjects.get(beanName);if (singletonObject null) {singletonObject this.earlySingletonObjects.get(beanName);if (singletonObject null) {ObjectFactory? singletonFactory this.singletonFactories.get(beanName);if (singletonFactory ! null) {singletonObject singletonFactory.getObject();this.earlySingletonObjects.put(beanName, singletonObject);this.singletonFactories.remove(beanName);}}}}}}return singletonObject;}这里有3个Map集合singletonObjects、earlySingletonObjects、singletonFactories 单例获取顺序为singletonObjects - earlySingletonObjects - singletonFactories singleonObjects单例对象的cacheearlySingletonObjects提前曝光的单例对象的cachesingletonFactories单例对象工厂的cache 12. Spring中使用了哪些设计模式 1、工厂模式BeanFactory、ApplicationContext 2、单例模式Bean默认为单例模式 3、代理模式AOP功能用到了JDK动态代理和Cglib动态代理 4、适配器模式Spring AOP 的拦截器使用到了适配器模式
http://www.dnsts.com.cn/news/1059.html

相关文章:

  • 深圳建设网站培训机构济南网站制作公司
  • 网站怎么做右上角消息提醒南京广告宣传公司seo
  • 网站管理系统怎么做北京网站推广营销服务电话
  • 优质的南昌网站建设网站客服系统
  • 电子商务网站建设的基本流程青岛网站建设方案优化
  • 备份wordpress深圳搜索引擎优化seo
  • 网站建设制作合同模板什么是网络营销推广
  • wordpress jquery插件廊坊百度推广seo
  • 望京做网站的公司哪家好广州优化疫情防控措施
  • 哈尔滨制作企业网站线上推广软件
  • 做汽车新闻哪个网站好互联网
  • 写作网站招聘成都网站排名优化公司
  • 网站策划设计招聘沈阳seo建站
  • 销售推广做那个网站手机优化助手下载
  • 电子书网站模板个人主页网页设计模板
  • 网盘怎么做电影网站东莞网站建设哪家公司好
  • 武汉网站推广报价手机百度seo怎么优化
  • 四川党的建设网站宣传网站站点最有效的方式是
  • 自己做的网站申请软著sem推广案例
  • 建设局网站简介网站seo哪里做的好
  • asp.net 网站授权百度推广如何代理加盟
  • 如何做介绍监控公司的网站如何做好品牌推广工作
  • 易企秀网站怎么做轮播图百度广告标识
  • 国企有没有必要建设网站百度店铺
  • 做任务领佣金的网站微信群推广网站
  • 站群管理软件百度推广关键词怎么优化
  • 彩票网站的建设sem推广和seo的区别
  • 帮别人做诈骗网站吗网站关键词优化价格
  • 正规淘宝店铺交易平台湖南关键词优化首选
  • seo网站优化外包如何搭建一个网站平台