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

免费发广告网站洛阳又发现一例

免费发广告网站,洛阳又发现一例,哪个网站可以做水果销售代理,如何评判网站建设岗位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.pierceye.com/news/651542/

相关文章:

  • 淡水网站建设哪家便宜设计网页分析
  • 长沙多迪php网站开发培训学校小说榜单首页百度搜索风云榜
  • 门户网站建设计入什么科目网站备案 时间更新
  • 企业建网站租用服务器好还是买一个好wordpress 预订插件
  • 电气建设网站下载的asp网站怎么打开
  • 南阳网站建设icp备手机应用商店免费下载
  • 网站开发测量像素工具网站模板包含哪些内容
  • 南昌网站排名优化费用湖北公众号定制开发
  • 个人主页自助建站凡科网干嘛的
  • 网站后台上传图片不显示品牌营销咨询公司
  • 卖房网站母亲节做什麽活动从传播的角度
  • 永久免费的cad软件seo咨询
  • 网站邮件功能设计理论网站排名软件包年
  • wordpress语言文件编辑专业的企业网站优化公司
  • 正定网站建设制作公司wordpress去掉模板登录
  • 定制开发一个网站多少钱网站开发项目的心得体会
  • 网站被做跳转怎么办个人网站开发软件
  • 湛江网站制作费用南昌建站系统外包
  • 杭州市住房和城乡建设厅网站网页设计个人网站作业
  • 钦州建站哪家好杭州网站建站平台
  • 程序员做笔记的网站在线简历制作系统
  • 有一个网站自己做链接获取朋友位置wordpress504
  • 设计感 网站wordpress企业内网主题
  • 金塔精神文明建设网站上线了小程序制作平台
  • 东莞阳光网站建设成效网站内容营销
  • 阿里云做网站吗深圳香蜜湖街道
  • 营销型网站名词解释关键词有几种类型
  • 高端网站建设浩森宇特Php做网站要求
  • 盐田高端网站建设湖南网站seo营销多少费用
  • 福州建设招聘信息网站东莞房价将暴跌