搭建网站首页做长尾词优化去哪些网站

pingmian/2026/1/20 8:57:13/文章来源:
搭建网站首页,做长尾词优化去哪些网站,手机网站横向切换,浅谈高校网站群的建设Spring帝国 Spring几乎是每一位Java开发人员都耳熟能详的开发框架#xff0c;不论您是一名初出茅庐的程序员还是经验丰富的老司机#xff0c;都会对其有一定的了解或使用经验。在现代企业级应用架构中#xff0c;Spring技术栈几乎成为了Java语言的代名词#xff0c;那么Sp…Spring帝国 Spring几乎是每一位Java开发人员都耳熟能详的开发框架不论您是一名初出茅庐的程序员还是经验丰富的老司机都会对其有一定的了解或使用经验。在现代企业级应用架构中Spring技术栈几乎成为了Java语言的代名词那么Spring为什么能够在众多开源框架中脱颖而出成为业内一致认可的技术解决方案呢我们不妨从最初的Spring Framework开始看看它为什么能够横扫千军一统江湖 挑战权威一战成名 2004年3月Spring的第一个版本以及其创始人Rod Johnson的经典力作《Expert one-on-one J2EE Development without EJB》发布打破了当时Java开发领域的传统思考模式企业级应用开始走向“轻量化”发展的步伐。 最初的Spring Framework 1.0并不像如今的Spring那么复杂但是在该版本中已经包含了Spring中最为核心的两大要素依赖注入和面向切面编程这两个功能是Spring区别于其他优秀框架并在企业级应用中建立核心地位的关键所在。很多开发者在初涉Java应用的时候很可能会觉得这两个功能的意义并不大因为不用它们我们依然可以很好的实现业务功能事实也确实如此但是随着业务的迭代和开发的深入复杂多变的需求开始慢慢侵蚀原本“完美”的架构开发与测试的难度逐步增大往往在这个时候我们才体会到了Spring的价值。所以即便在Spring的最初版本中也封装了诸多偏业务型的功能封装如邮件发送、事务管理等但我们要知道真正让企业级应用离不开Spring的理由并不是这些与业务直接相关的功能而是上面所提及的与业务实现毫不相关的两大核心。 由于在初期版本中Spring对很多功能性封装并没有今天的Spring那么强大所以很长一段时间我们都采用了Spring做工程管理来整合其他更优秀的功能型框架来完成系统开发的架构模式比如曾经风靡一时的Spring Struts Hibernate架构相信可以勾起一代人的回忆。 优雅灵活吸粉无数 Spring在发布并获得业界的普遍认可之后Spring开源社区变得异常活跃除了社区自身不断对Spring进行增强之外其他功能性框架也纷纷对Spring进行适配与支持。在随后发布的Spring 2.x和3.x中先后支持了Annotation的优雅配置方式以及更为灵活的Java类的配置这使得Spring在管理Bean的配置方式上变得更为多样化。 但是随着Spring的深入应用繁琐的配置问题也开始显现我们会发现每次在构建项目的时候总是在不断的复制黏贴着一些模版化的配置与代码有时候我们只是想实现几个很简单的功能结果配置内容远大于业务逻辑代码的编写同时在框架整合过程中对于一些共同依赖的Jar包存在着潜在的冲突风险使得一些复杂的整合任务变得困难起来。所以Spring的“轻量级”在其他动态语言面前就显得不那么轻了。 轮子大师前途未卜 在之后的Spring 4.x中除了提供对Java 8的支持以及对依赖注入的增强之外有很长一段时间Spring社区对其核心框架的创新就没有那么出彩了社区更多的精力开始将矛头转向了曾经那些亲密无间的小伙伴们。于是我们在Spring社区发现多出了各种功能性的兄弟项目比如简化数据访问的Spring Data、提供批处理能力的Spring Batch、用于保护应用安全的Spring Security等。 虽然这些框架从个体来说都有一定的优势和先进的理念但是对于很多既有系统来说在功能性框架上很难做出改变对于这些新生的轮子项目就很难得到应用除了一些从零开始的系统会做一些尝试之外鉴于学习成本和踩坑风险的考虑中小团队对这些新项目很少有愿意去尝试的。所以一些老牌的功能性框架除非有严重的性能或安全问题出现不然很难被这些轮子所替代。 在这段时间里虽然Spring社区推出了那么多的轮子项目但是真正在国内得到广泛应用的并不多很多开发团队依然只是使用最核心的IOC和AOP并根据自己团队的技术栈情况整合出更适合自身的脚手架来进行系统开发。 神兵出世再创辉煌 2014年4月1日Spring Boot发布了第一个正式版本。该项目旨在帮助开发者更容易地创建基于Spring的应用程序和服务使得现有的和新的Spring开发者能够最快速地获得所需要的Spring功能。一直到今天发布2.x版本共经历了近4年的发展Spring Boot已经是一个拥有了21000多Star15000多次Commits贡献者超过400多名的超热门开源项目。 Spring Boot为什么突然如此备受关注与推崇呢主要有以下几点 简化依赖管理在Spring Boot中提供了一系列的Starter POMs将各种功能性模块进行了划分与封装让我们可以更容易的引入和使用有效的避免了用户在构建传统Spring应用时维护大量依赖关系而引发的JAR冲突等问题。自动化配置Spring Boot为每一个Starter都提供了自动化的Java配置类用来替代我们传统Spring应用在XML中繁琐且并不太变化的Bean配置同时借助一系列的条件注解修饰使得我们也能轻松的替换这些自动化配置的Bean来进行扩展。嵌入式容器除了代码组织上的优化之外Spring Boot中支持的嵌入式容器也是一个极大的亮点此处仿佛又听到了Josh Long的那句“Deploy as a Jar, not a War”借助这个特性使得Spring Boot应用的打包运行变得非常的轻量级。生产级的监控端点spring-boot-starter-actuator的推出可以说是Spring Boot在Spring基础上的另一个重要创新为Spring应用的工程化变得更加完美。该模块并不能帮助我们实现任何业务功能但是却在架构运维层面给予我们更多的支持通过该模块暴露的HTTP接口我们可以轻松的了解和控制Spring Boot应用的运行情况。 Spring Boot虽然是基于Spring构建的但是通过上面这些特性的支持改变了我们使用Spring的姿势极大得简化了构建企业级应用的各种配置工作尤其对于很多初学者来说变得更加容易入门使用。 Spring Boot 2.0 如约而至升级与否 万众期待的Spring Boot 2.0终于发布了第一个正式版本为什么Spring Boot 2.0如此受期待呢我认为主要有以下几个原因 支持最新的Java 9基于Spring 5构建Spring的新特性均可以在Spring Boot 2.0中使用为各种组件的响应式编程提供了自动化配置如Reactive Spring Data、Reactive Spring Security等支持Spring MVC的非阻塞式替代方案WebFlux以及嵌入式Netty ServerSpring Boot 2.0的发布Spring Cloud Finchley还会远吗 上述列举的内容是笔者主要关心的重要内容并非Spring Boot 2.0所有的新特性对于不同的使用者来说相信会有不同的关注点。除此之外在Spring Boot 2.0中还有非常多其他令人振奋的新特性比如对HTTP/2的支持、新增了更灵活的属性绑定API可以不通过ConfigurationProperties注解就能实现配置内容读取和使用、对Spring Security整合的简化配置、Gradle插件的增强、Actuator模块的优化等等。本文不对这些新特性做详细的介绍下面主要说说我们是否有必要将我们的Spring Boot 1.x升级到Spring Boot 2.x在这过程中我们需要考虑和注意哪些问题。 Java版本要求的变化 我们在选择是否要升级Spring Boot的时候最先需要考虑的是Java版本的选择。在Spring Boot 2.0中提高了对Java版本的要求我们需要至少使用Java 8才能使用它如果您的Spring Boot应用还运行在Java 7上那就还得考虑Java的升级成本。 另外在未来的一段时间内您是否想要使用Java 9将是一个影响升级与否的重要决策依据因为Spring Boot 1.x版本明确说明了没有对Java 9的支持计划换言之如果你想将Spring Boot运行在Java 9上那么你必须升级到Spring Boot 2.0。 Tips当前版本的Spring Boot 2.0虽然支持Java 9但是依然还有一些问题。比如JDK的代理支持需要使用AspectJ 1.9但是该版本还处于RC版还不支持Apache Cassandra对于JSP TLDs在嵌入式Tomcat中也无法支持等情况。对于这些问题的具体处理方法可见Running Spring Boot on Java 9 依赖组件的升级 Spring Boot的Starter中整合了不少优秀的第三方组件这些组件的升级也需要我们做好一定的考量在这些组件的版本升级过程中使用上是否有变化等问题。其中最为关键的几个组件需要我们注意 ​Tomcat升级至8.5Flyway升级至5Hibernate升级至5.2Thymeleaf升级至3Tips前几日曝出的Tomcat漏洞问题。经查Spring Boot 2.0选用的版本为8.5.28属于安全版本所以大家可以放心使用。 依赖重组和配置重定位 在Spring Boot 2.0的升级过程中可能这部分内容将是大家要做出较多修改的地方所以建议大家在这里留个心眼。由于Spring Boot在构建Starter POMs的时候并非是扁平的一层结构一些功能模块Starter之间是存在包含引用关系的比如spring-boot-starter-thymeleaf中包含了spring-boot-starter-web因为thymeleaf模版引擎之前肯定是在Spring MVC下使用的。但是在Spring Boot 2.0中WebFlux的出现对于Web应用的解决方案将不再唯一因此spring-boot-starter-thymeleaf中的依赖就不在包含spring-boot-starter-web开发人员需要自己添加spring-boot-starter-web或spring-boot-starter-webflux来决定是使用哪个模块实现Web应用。 除了类似上面的依赖重组之后在Spring Boot 2.0中对于配置属性的重定位也是比较多的这将导致一些原有的配置将不再生效需要我们手工的去修改这些配置的Key来完成升级适配。比如一些与servlet相关的server.*属性重定位到server.servlet前缀下 Old propertyNew propertyserver.context-parameters.*server.servlet.context-parameters.*server.context-pathserver.servlet.context-pathserver.jsp.class-nameserver.servlet.jsp.class-nameserver.jsp.init-parameters.*server.servlet.jsp.init-parameters.*server.jsp.registeredserver.servlet.jsp.registeredserver.servlet-pathserver.servlet.path 更多的依赖变化、配置重定位以及默认配置的变化读者可自行查阅官方升级手册Spring Boot 2.0 Migration Guide 不必要的顾虑 之前有朋友在spring4all社区上问如果Spring Boot升级2.02.0出了那么多新功能我们的业务代码是否也需要随之修改风险会不会很大其实这个问题大家完全不用太多的顾虑Spring Boot 2.0虽然新增了很多强大的新特性但是对于原有功能的支持并没有抛弃。所以就算我们不用任何类似WebFlux这样的新功能将工程升级到了Spring Boot 2.0之后继续使用Spring MVC开发我们的项目也是完全没有影响的。只是就如上面所述的我们可能需要做一些依赖和配置上的调整才能继续将应用正常的运行起来。 总结与展望 感谢大家能够读完上面我对Spring Boot 2.0的薄见希望这些内容能够对您在Spring Boot 2.0的选择上有一定的参考价值。这个版本虽然不像Spring Boot 1.0那样颠覆我们对繁琐的Spring应用的认识但是依然透露着很多时代前沿的气息。同时Spring Boot 2.0的发布也意味着Spring Cloud Finchley里正式发布又近了一步因为这个版本中同样的将会带来很多令人兴奋的内容相信这一天的到来也不远了 对于当前Spring Boot 2.0的迁移升级作为一名Spring Boot与Spring Cloud的忠实拥护者在时间允许的情况下这是一件必然会去尝试的事情在未来的时间里我也尽可能的希望抽出时间继续分享一些其中的问题与收获与大家共勉 参考资料 Spring Boot 2.0 Release NotesSpring Boot 2.0 Migration GuideRunning Spring Boot on Java 9

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/87568.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

建设企业网站需要哪些东西广西壮族自治区住房和城乡建设厅网站

完善登录框 点击登录按钮后,判断账号(admin)和密码(123456)是否一致,如果匹配失败,则弹出错误对话框,文本内容“账号密码不匹配,是否重新登录”,给定两个按钮…

甘肃建设厅网站官网微餐饮网站建设平台

文章目录 设计模式概述创建型模式:结构型模式:行为型模式: 设计模式概述 设计模式是什么? 设计模式的一般定义为: 设计模式(Design Pattern)是一套反复使用、多人知晓的,经过分类…

佛山网站建设价格多少敬请期待的文案

1. 简单说下你对并发和并行的理解? 2. 同步、异步、阻塞、非阻塞的概念 3. 进程和线程的基本概念 4. 进程与线程的区别? 5. 为什么有了进程,还要有线程呢? 6. 进程的状态转换 7. 进程间的通信方式有哪些? 8. 进程的调度…

做网站排版用什么软件广州增城做网站

1.,首先看ec待机条件: 待机供电,32k时钟,复位,适配器检测,开关信号。但是视频居然是找适配器的接口,跟着视频走,所以我先找打了适配器接口j24。vint20为公共点,我查了vint20的所有接线发现没有小…

深圳网站设计招聘信息网站设计自己申请

处理数据之前的pre-process 观察下载的数据文件train.csv train.csv只有每个月前20天的数据,另外每个月剩下10天数据用于作业结果评估,对学生不可见 观察数据发现rainfall栏有很多NR表示没有降雨,但是我们只需要数字,因此可以使用…

百度广告投放东莞seo建站优化公司

1、我们在linux上简单看路由信息使用下面命令 route -n

广州手机网站建设报价表跨境电商流程

所谓变量,就是用字母、数字和下划线组成的一个标识符。 按照数据类型的不同,变量可以分为标准类型和用户自定义类型。其中标准类型包括布尔型 ( BOOL )、整型( INT )、实型( REAL &#xff09…

网站怎么做组织图自己怎么做网址

在 MIP 推出后,我们收到了一些站长的疑问。现将常见问题整理出来,帮助大家了解 MIP 的知识。 一、MIP 认知类问题二、改造前准备三、前端改造,组件使用四、提交生效五、MIPCache六、更多学习资源 一、MIP 认知类问题 1.1 MIP 化的收益是什…

莆田网站建设方法如何做网站教学

1.主线程退出其他线程不退出,主线程应调用pthread_exit; 2.避免僵尸线程:pthread_join、pthread_detach、pthread_create指定分离属性。被join线程可能在join函数返回前就释放完自己的所有内存资源,所以不应当返回被回收线程栈中…

discuz做淘客网站为什么做美妆网站

场景: 移动端h5中,当我们需要在地图中展示很多marker点坐标的时候,通常会使用 bm-marker ,去循环生成marker点,在数量不多的情况下是没问题的,但是随着数据量的增加,地图就会变得卡顿,以及渲染延…

个人网站怎么做扫码支付福田瑞沃e3自卸车

当您看到本文标题时,不禁感叹,总算是到了训练模型这一节了。 是啊,在之前的文章中,我们对数据进行了探索,以及对一个训练集和一个测试集进行了采样,也编写了一个预处理管道来自动清理,准备您的数…

子目录创建网站一个网站百度百科怎么做

限流、降级和资源隔离是分布式系统设计中常用的三种技术手段,它们主要目的是增强系统的稳定性和可用性,尤其在高并发和不稳定网络环境下显得尤为重要 1.资源隔离的实现方式 资源隔离通常有两种主要的实现方式:线程池隔离和信号量隔离。 线…

免费做视频的软件appseo优化外包顾问

HTTP通信机制是在一次完整的HTTP通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤: 1、建立TCP连接 在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共…

网站店铺的图片怎么做的企业展示型网站程序

文章目录 1 退火算法原理1.1 物理背景1.2 背后的数学模型 2 退火算法实现2.1 算法流程2.2算法实现 建模资料 ## 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 退火算法原理 1.1 物理背景 在热力学上&a…

opencart做网站视频小程序开发需要多少钱知乎

IO多路复用机制select实现TCP服务器 一、前言二、新增使用API函数2.1、select()函数2.2、FD_*系列函数 三、实现步骤四、完整代码五、TCP客户端5.1、自己实现一个TCP客户端5.2、Windows下可以使用NetAssist的网络助手工具 小结 一、前言 手把手教你从0开始编写TCP服务器程序&a…

自助建站竹子青羊网站建设

“嵌段共聚醚酯型”易去污整理剂的结构特点及对织物服用性的影响? 收集资料阶段 嵌段共聚醚酯型易去污整理剂(简称聚醚酯)是涤纶最早的一种耐久性易去污剂,其商品名称为Permalose T,由英国ICI公司生产,它能使涤纶及其混纺织物具有优良的易去污、抗湿再沾污和抗静电性能。…

php设计网站建设西安seo代理计费

目录 一、概述 二、说明 三、功能说明 3.1 协调算法 3.2 操作模式 3.2.1 网络模式

济宁北湖旅游度假区建设局网站百度竞价推广代运营公司

我们应该感谢命运的多喘,是它用历练使一颗脆弱心的渐渐变得坚强,变得对一切都充满了向往。无可否认,只有真正的经历了一些事物之后,你才会对人生看得更加透彻,才会对世间真情感悟的更加真切。 1、个人只能被现实改变…

兰州网站定制公司怎样开电商平台

经常接触Python的同学可能会注意到,当需要安装第三方python包时,可能会用到easy_install命令。easy_install是由PEAK(Python Enterprise Application Kit)开发的setuptools包里带的一个命令,它用来安装egg包。egg包是目前最流行的python应用打…

怎么样做搜索引擎网站台州外贸网站建设

【摘要】通过本次课程可以让python学员了解一下python查询价格方法,对代码编程有个感性的认知。也好让大家能够理性选择,不要盲目跟从,选择适合自己当前阶段的学习内容,循序渐进,以兴趣自我探索为向导,所以…