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

做网站时需要FTP工具吗专业自适应网站建设极速建站

做网站时需要FTP工具吗,专业自适应网站建设极速建站,学校网站建设规划,好用的a站文章目录 1.Spring2.SpringBoot3.小结 1.摘要 本文旨在带大家理解Spring框架和SpringBoot框架最为核心的部分#xff0c;自Spring和SpringBoot问世以来#xff0c;给Web开发掀起了巨大的浪潮#xff0c;极大的缩短项目开发周期#xff0c;下面将带大家分析Spring和SpringBo… 文章目录 1.Spring2.SpringBoot3.小结 1.摘要 本文旨在带大家理解Spring框架和SpringBoot框架最为核心的部分自Spring和SpringBoot问世以来给Web开发掀起了巨大的浪潮极大的缩短项目开发周期下面将带大家分析Spring和SpringBoot给JavaWeb开发带来那些便利剖析其核心思想及其中运用到哪些核心技术原理。 1.Spring 1.Spring最早是为了解决企业中J2EE开发复杂性所产生的轻量级开源框架。 它到底解决了什么主要问题呢 来先看到高频面试题为什么使用Spring框架进行项目开发 这个问题乍看无法回答现在项目不都是maven直接拉取spring jar包依赖咔咔咔一顿操作直接上手启动运行程序写代码开发测试吗怎么还有人问这种问题哎有的面试官就爱问. 是不是有点麻了。。。 想要回答这个问题还是从Spring诞生的起源来答复这个问题。 Spring最早为了解决企业J2EE开发各种对象创建、相互依赖关系复杂性而诞生的一门开源性框架。 因此这个答案就是为了避免JAVA Bean对象之间的强耦合以及频繁构建对象所带来的内存开销、以及解决对象之间复杂的依赖关系项目中边引入了Spring框架进行开发。当然Spring AOP 还能降低系统核心业务与其他业务逻辑之间的耦合提升项目系统的可扩展性和可维护性。 Spring 最核心的两个功能 IOC 和 AOP。 IOC: 控制反转将Java中对象之间的相互引用交由Spring容器进行控制使用DI 依赖注入实现Bean的自动注入。比如A类 对象想要使用B对象的某个功能传统代码开发直接把B对象new一次在赋值给A的一个成员变量这使得A 类和B类对象之间构成强耦合不利于项目扩展和维护使用Spring后A类对象如果要使用B类对象只需要将B类的JAVA Bean注入进来就可以使用了。降低对象之间的耦合度。 AOP:面向切面编程这个最强大的地方就是可以让开发者能够专注于开发核心业务无需花费大量精力书写与业务逻辑无关且必需的功能代码比如日志处理、事务管理等。 AOP的实现方式 动态代理: 分为 JDK动态代理 和CGLIB 实现代理所用技术反射 JDK代理对象的类必须实现一个接口CGLIB没有这个要求SpringBoot2.X以上默认就使用CGLIB代理当然当你手动使用注解Autowired 注入接口对象时系统会自动走JDK代理实现。Spring AOP默认使用JDK代理。其中被代理对象不能超过65535个接口。 结合Spring6.1.3-aop.jar 源码进行简要分析作者已经补充了中文注释便于大家阅读。其中 // Spring6.1.3-aop.jar 包实现动态代理具体代码。public AopProxy createAopProxy(AdvisedSupport config) throws AopConfigException {// 如果不开启优化和使用代理类、存在代理接口 则直接使用JDK动态代理。其中默认是不开启优化和没有使用代理类的因此凡是提供了接口的类代理默认都是走JDK动态代理。if (!config.isOptimize() !config.isProxyTargetClass() !this.hasNoUserSuppliedProxyInterfaces(config)) {return new JdkDynamicAopProxy(config);} else {// 获取代理目标类Class? targetClass config.getTargetClass();// 如果代理类为空, 直接抛出异常。if (targetClass null) {throw new AopConfigException(TargetSource cannot determine target class: Either an interface or a target is required for proxy creation.);} else {// 如果代理类不是接口类型且代理类存在、代理类不是通过Lambda方式实现的内部类,则直接使用CGLIB代理, 否则使用JDK动态代理。return (AopProxy)(!targetClass.isInterface() !Proxy.isProxyClass(targetClass) !ClassUtils.isLambdaClass(targetClass) ? new ObjenesisCglibAopProxy(config) : new JdkDynamicAopProxy(config));}}}private boolean hasNoUserSuppliedProxyInterfaces(AdvisedSupport config) {Class?[] ifcs config.getProxiedInterfaces();return ifcs.length 0 || ifcs.length 1 SpringProxy.class.isAssignableFrom(ifcs[0]);}看看外国大佬书写Java代码方法名称命名就是规范可读性太强了。 2.SpringBoot 1.SpringBoot是为了便于快速构建项目而诞生的一个新框架其中最为核心的两个要素就是自动配置和起步依赖。 什么是自动配置 说白了之前使用Spring、SpringMVC等框架进行开发过程中需要手动配置各种各样的JavaBean对象要么是通过注解实现要么是XML实现要么就是两者混合实现。SpringBoot为了简化频繁手动配置这个问题就构建出了一个自动配置功能极大简化开发人员的配置时间提升项目开发效率。 自动配置的原理通过6张图带大家领略自动配置具体实现。首先是项目启动配置SpringBootApplication注解这个注解内置了EnableAutoConfiguration【图一】这个Import注解会执行selectImports方法。 代码执行到红色划线部分 代码执行到红色划线部分 代码执行到红色划线部分**这里就是自动配置文件读取的源头了读取后缀 为 imports的文件**。 朋友们就这个org.springframework.boot.autoconfigure.AutoConfiguration.imports文件。这里补充下SpringBoot2.5以下 采用spring.factories作为自动配置文件入口。 2.5-2.7两者混用。 2.7版本后全部使用后缀为 .imports文件作为配置文件。 这里面几个作者配置MybatisPlus 的自动配置类。 什么是起步依赖 简单说就是一个starter可以直接启动执行的jar包通常命名为xxx-xxx-starter。使用者可以不用关注具体包依赖的细节直接通过依赖一个starter依赖完成某一个模块/功能的完整依赖导入。有效避免了手动导入依赖发生依赖之间版本冲突。starter依赖包会自动将包所使用到所有依赖包一起打包加载进来。 3.小结 本文简单扼要剖析Spring和SpringBoot最为核心的部分随着技术日新月异迭代升级技术会越来越多样但是核心思想、核心原理是几近相同或者是说短期时间内不会有太大变化正如数学之美作者吴军所言一味地研究技术一生注定忙碌研究技术背后的核心原理(他口中的道)才能掌握技术的精髓。以便不至于在茫茫大海中迷失方向立于不败之地【作者本人吹牛】。本文就分享至此如有问题请于评论区交流指正。
http://www.hkea.cn/news/14343486/

相关文章:

  • 定西市小企业网站建设建设物流网站的分类
  • 网页设计与网站建设考试名词解释手机营销网站建设
  • 重庆装修网站建设高端企业展厅设计公司
  • 邢台网站建设策划领券购买网站是怎么做的
  • 青岛建设集团官方网站车行网站源码
  • 做网站的公司 设计好尚石设计深圳有限公司
  • 下载男女做爰免费网站和田地区建设局网站
  • 上海外贸网站推广[wordpress
  • 做网站需要哪些费用支出电商设计师招聘
  • 做淘宝客网站需要什么做植物提取物的专业网站
  • 做网站首页的图片怎么缩小台州专业制作网站
  • 网站内容优化方法有哪些十堰专业网站设计制作
  • 免费行情软件网站游戏wordpress支付宝支付
  • 支付宝小程序搜索引擎禁止的方式优化网站
  • 医院网站建设技术方案ppt专业网站设计 软件
  • 国开网站怎么做网站建设主题大全
  • 老榕树智能建站系统免费asp网站源码下载
  • 优秀的平面设计网站如何做网站海报
  • 乐清做网站公司网站建设意见征求表
  • 网站建设费计入 科目微商城怎么开
  • 网站备案密码是什么样的wordpress实现视频播放
  • e想时代官方网站wordpress主题选择
  • 中企动力高端网站建设湖南seo网站设计
  • 旅游目的地网站建设网站未备案的后果
  • 上海网站制作工具网站更换服务器 备案
  • 买了域名怎么建网站河南百度推广公司
  • 网站开发是什么部门新闻最新热点
  • 泸州市建设规划局网站平台网站建设方案标书
  • 数据库网站开发价格装修公司室内装饰
  • 免费做app的网站有哪些xampp和wordpress