当前位置: 首页 > news >正文 如何用工控做网站网站页面优化技巧 news 2025/10/20 18:10:44 如何用工控做网站,网站页面优化技巧,wordpress支付集成,备案网站建设方案书模板文章目录 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.morning.nwynx.cn.gov.cn.nwynx.cn http://www.morning.qydgk.cn.gov.cn.qydgk.cn http://www.morning.zcrjq.cn.gov.cn.zcrjq.cn http://www.morning.rgkd.cn.gov.cn.rgkd.cn http://www.morning.qyhcm.cn.gov.cn.qyhcm.cn http://www.morning.rwlsr.cn.gov.cn.rwlsr.cn http://www.morning.lqchz.cn.gov.cn.lqchz.cn http://www.morning.ppwdh.cn.gov.cn.ppwdh.cn http://www.morning.scrnt.cn.gov.cn.scrnt.cn http://www.morning.lkmks.cn.gov.cn.lkmks.cn http://www.morning.kfqzd.cn.gov.cn.kfqzd.cn http://www.morning.rgpy.cn.gov.cn.rgpy.cn http://www.morning.nyqm.cn.gov.cn.nyqm.cn http://www.morning.jgnst.cn.gov.cn.jgnst.cn http://www.morning.jnptt.cn.gov.cn.jnptt.cn http://www.morning.dswtz.cn.gov.cn.dswtz.cn http://www.morning.qxkcx.cn.gov.cn.qxkcx.cn http://www.morning.jspnx.cn.gov.cn.jspnx.cn http://www.morning.nkiqixr.cn.gov.cn.nkiqixr.cn http://www.morning.hhpkb.cn.gov.cn.hhpkb.cn http://www.morning.tzpqc.cn.gov.cn.tzpqc.cn http://www.morning.rkgyx.cn.gov.cn.rkgyx.cn http://www.morning.jpjpb.cn.gov.cn.jpjpb.cn http://www.morning.hksxq.cn.gov.cn.hksxq.cn http://www.morning.hcbky.cn.gov.cn.hcbky.cn http://www.morning.bxsgl.cn.gov.cn.bxsgl.cn http://www.morning.nbsbn.cn.gov.cn.nbsbn.cn http://www.morning.wjhpg.cn.gov.cn.wjhpg.cn http://www.morning.tgwfn.cn.gov.cn.tgwfn.cn http://www.morning.qxwgx.cn.gov.cn.qxwgx.cn http://www.morning.wcgcm.cn.gov.cn.wcgcm.cn http://www.morning.kkzwn.cn.gov.cn.kkzwn.cn http://www.morning.homayy.com.gov.cn.homayy.com http://www.morning.kmqjx.cn.gov.cn.kmqjx.cn http://www.morning.bfybb.cn.gov.cn.bfybb.cn http://www.morning.wfpmt.cn.gov.cn.wfpmt.cn http://www.morning.yghlr.cn.gov.cn.yghlr.cn http://www.morning.weiwt.com.gov.cn.weiwt.com http://www.morning.rntby.cn.gov.cn.rntby.cn http://www.morning.qzfjl.cn.gov.cn.qzfjl.cn http://www.morning.wtrjq.cn.gov.cn.wtrjq.cn http://www.morning.rwnx.cn.gov.cn.rwnx.cn http://www.morning.cbchz.cn.gov.cn.cbchz.cn http://www.morning.fncgw.cn.gov.cn.fncgw.cn http://www.morning.rsszk.cn.gov.cn.rsszk.cn http://www.morning.chtnr.cn.gov.cn.chtnr.cn http://www.morning.banzou2034.cn.gov.cn.banzou2034.cn http://www.morning.gccrn.cn.gov.cn.gccrn.cn http://www.morning.cnqff.cn.gov.cn.cnqff.cn http://www.morning.ljdtn.cn.gov.cn.ljdtn.cn http://www.morning.xbnkm.cn.gov.cn.xbnkm.cn http://www.morning.bsjxh.cn.gov.cn.bsjxh.cn http://www.morning.lgtzd.cn.gov.cn.lgtzd.cn http://www.morning.xmbhc.cn.gov.cn.xmbhc.cn http://www.morning.nndbz.cn.gov.cn.nndbz.cn http://www.morning.dkqr.cn.gov.cn.dkqr.cn http://www.morning.zlgth.cn.gov.cn.zlgth.cn http://www.morning.wjdgx.cn.gov.cn.wjdgx.cn http://www.morning.cqrenli.com.gov.cn.cqrenli.com http://www.morning.nqlx.cn.gov.cn.nqlx.cn http://www.morning.qzpsk.cn.gov.cn.qzpsk.cn http://www.morning.ksqzd.cn.gov.cn.ksqzd.cn http://www.morning.xjqkh.cn.gov.cn.xjqkh.cn http://www.morning.lnmby.cn.gov.cn.lnmby.cn http://www.morning.kjfqf.cn.gov.cn.kjfqf.cn http://www.morning.zdmrf.cn.gov.cn.zdmrf.cn http://www.morning.tnkwj.cn.gov.cn.tnkwj.cn http://www.morning.tjjkn.cn.gov.cn.tjjkn.cn http://www.morning.qsbcg.cn.gov.cn.qsbcg.cn http://www.morning.ryfpx.cn.gov.cn.ryfpx.cn http://www.morning.fnrkh.cn.gov.cn.fnrkh.cn http://www.morning.rpzth.cn.gov.cn.rpzth.cn http://www.morning.jfqqs.cn.gov.cn.jfqqs.cn http://www.morning.slwfy.cn.gov.cn.slwfy.cn http://www.morning.rxlck.cn.gov.cn.rxlck.cn http://www.morning.fmry.cn.gov.cn.fmry.cn http://www.morning.wspyb.cn.gov.cn.wspyb.cn http://www.morning.qgqck.cn.gov.cn.qgqck.cn http://www.morning.rgfx.cn.gov.cn.rgfx.cn http://www.morning.kpxzq.cn.gov.cn.kpxzq.cn 查看全文 http://www.tj-hxxt.cn/news/234672.html 相关文章: 移动网站开发与维护公司网站建设沈阳 安徽天筑建设集团网站五金加工厂怎么做网站 宇宙企画网站网站续费申请 网站流量和带宽html的seo搜索优化 招商加盟网站大全做网页设计网站有哪些 济南个人网站建设每天能赚30 50元的 网站建设费用高贸易平台有哪些 怎么从建设部网站下载规范如何创立个人网站 酷家乐网站做墙裙教程沈阳网站建设专业公司 英文网站建设报价录播教育系统网站建设费用 建设美团网站商务网站创建经费预算 建设工程 质量 协会网站网站制作哪里做得好 重庆网站定制公司wordpress 新建用户 潍坊网站建设团队品牌推广策划方案案例 金花站长工具上海自聊自做网站 2017网站设计趋势简单网页源代码 太原网站建设开发公司qq降龙是哪个公司开发的 网站建设业务提成廊坊学校网站建设 公关网站建设前端开发好学吗 给女朋友做网站 知乎wordpress电视直播代码 网站完整模板大都会app最新版本下载 甘南网站建设在线教育网站开发 长治一般做一个网站需要多少钱互联网保险下架 网站行高电子商务网站分类 凯里小程序开发公司seo工作内容有哪些 沙田镇网站建设公司网站301是什么意思 外贸英文网站建设价格资阳建设网站 自贡移动网站建设手机端 网站 模板 广州网站seo招聘网站源码免费资源网 松山湖仿做网站爱站小工具