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

在哪里有人做网站手机软件用什么语言开发

在哪里有人做网站,手机软件用什么语言开发,qq空间搬家wordpress,wordpress首页缩略图大小前提 希望本文档将帮助您把应用程序迁移到 Spring Boot 2.0。 在你开始之前 首先#xff0c;Spring Boot 2.0 需要 Java 8 或更高版本。不再支持 Java 6 和 7 了。 在 Spring Boot 2.0 中#xff0c;许多配置属性被重新命名/删除#xff0c;开发人员需要更新application…前提 希望本文档将帮助您把应用程序迁移到 Spring Boot 2.0。 在你开始之前 首先Spring Boot 2.0 需要 Java 8 或更高版本。不再支持 Java 6 和 7 了。 在 Spring Boot 2.0 中许多配置属性被重新命名/删除开发人员需要更新application.properties/ application.yml相应的配置。为了帮助你解决这一问题Spring Boot 发布了一个新spring-boot-properties-migrator模块。一旦作为该模块作为依赖被添加到你的项目中它不仅会分析应用程序的环境而且还会在启动时打印诊断信息而且还会在运行时为您暂时迁移属性。在您的应用程序迁移期间这个模块是必备的 dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-properties-migrator/artifactId/dependency注意完成迁移后请确保从项目的依赖关系中删除此模块。 构建您的 Spring Boot 应用程序 Spring Boot Maven 插件 为了保持了一致性并且避免与其他插件发生冲突现在暴露的插件配置属性都以一个spring-boot前缀开始。 例如以下命令prod使用命令行启用配置文件 mvn spring-boot:run -Dspring-boot.run.profilesprodSurefire 默认值 以前的 include/exclude 模式已与最新的 Surefire 默认设置保持一致。如果依赖于此插件需要相应地更新插件配置。之前对应的配置如下 plugin groupIdorg.apache.maven.plugins/groupId artifactIdmaven-surefire-plugin/artifactId configuration includes include**/*Tests.java/include include**/*Test.java/include /includes excludes exclude**/Abstract*.java/exclude /excludes /configuration/pluginPS: 如果您使用 JUnit 5则应将 Surefire 降级到 2.19.1。该**/*Tests.java版本不包含此模式因此如果您依赖该模式请确保将其添加到您的配置中。 Spring Boot Gradle 插件 Spring Boot 的 Gradle 插件在很大程度上已被重写有了重大的改进。您可以在其参考文献和API文档中阅读关于插件功能的更多信息。 依赖管理 Spring Boot 的 Gradle 插件不再自动应用依赖管理插件。相反Spring Boot 的插件现在可以通过导入正确版本的spring-boot-dependencies BOM 来应用依赖管理插件。当依赖管理被配置的时候这一点会让你有更多的控制权。 对于大多数应用程序使用应用依赖管理插件就足够了 apply plugin: org.springframework.bootapply plugin: io.spring.dependency-management // -- add this to your build.gradle注意依赖管理插件仍然是 spring-boot-gradle-plugin 的传递依赖项所以不需要在 buildscript 配置中将其列为类路径依赖项。 建立可执行的 Jars 和 Wars bootRepackage 任务已经被替换成 bootJar 和 bootWar 任务分别用于构建可执行的 jar 包和 war包。 配置更新 BootRunBootJar和BootWar任务现在都使用mainClassName的属性来配置主类的名称。这使得三个特定于引导的任务相互一致并将其与 Gradle 自己的应用程序插件进行对齐。 Spring Boot 特性 默认动态代理策略 Spring Boot 默认使用 CGLIB 做动态代理代理(基于类的动态代理)包括对 AOP 的支持。如果你需要基于接口的动态代理你需要将spring.aop.proxy-target-class 设置为false。 SpringApplication Web 环境 Spring Boot 应用程序现在可以在更多模式下运行因此spring.main.web-environment现在不推荐使用spring.main.web-application-type属性可以提供更多的支持。 如果您想确保应用程序不启动 Web 服务器则必须将该属性更改为 spring.main.web-application-typenone注意可以通过 SpringApplication 的 setWebApplicationType 方法实现。 Spring Boot 应用程序事件更改 我们已经添加了一个新事件ApplicationStartedEvent。 ApplicationStartedEvent在上下文刷新之后但在任何应用程序和命令行参数被调用之前发送。 ApplicationReadyEvent在任何应用程序和命令行参数被调用后发送。它表示应用程序已准备好为请求提供服务。 请参阅更新的参考文档。 Banner 在我们限制 Spring Boot 使用的根名称空间的数量的过程中与标志相关的属性已被重定位到spring.banner。 外部化配置 轻松的绑定 有关宽松绑定的规则已经收紧。我们假设一个现有的acme.my-project.my-name属性 所有前缀必须是 kebab格式小写连字符分隔acme.myProject或acme.my_project无效 - 您必须acme.my-project在此处使用。属性名称可以使用 kebab-casemy-namecamel-casemyName或 snake-casemy_name。环境属性来自操作系统环境变量必须使用通常的大写下划线格式下划线只能用于分隔键的各个部分ACME_MYPROJECT_MYNAME。 这种新的放松绑定具有以下几个优点 无需担心密钥的结构ConditionalOnProperty只要密钥是以规范格式定义的支持的松散变体就可以透明地工作。如果您正在使用该prefix属性则现在只需使用name或value属性即可放置完整密钥。RelaxedPropertyResolver不再可以Environment自动处理env.getProperty(com.foo.my-bar)将找到一个com.foo.myBar属性。 该org.springframework.boot.bind软件包不再可用并被新的宽松绑定规则所取代。特别是RelaxedDataBinder朋友已被新的BinderAPI 取代。以下样品MyProperties从app.acme前缀中进行绑定。 MyProperties target Binder.get(environment) .bind(app.acme, MyProperties.class) .orElse(null);由于现在内置了轻松绑定因此只要使用其中一种支持的格式就可以请求任何属性而不必关心案例 FlagType flagType Binder.get(environment) .bind(acme.app.my-flag, FlagType.class) .orElse(FlagType.DEFAULT);ConfigurationProperties 验证 如果您想打开验证现在必须为您的ConfigurationProperties对象添加注释Validated。 配置位置 spring.config.location配置的方式已被修复; 它提前将一个位置添加到默认位置列表中现在它将替换默认位置。如果你是按照以前的方式进行处理现在应该使用它spring.config.additional-location进行替换。 开发 Web 应用程序 嵌入式容器包装结构 为了支持响应式用例嵌入式容器包结构已经被大幅度的重构。 EmbeddedServletContainer已被重新命名为WebServer并且该org.springframework.boot.context.embedded包已被重新定位到org.springframework.boot.web.embedded。例如如果您使用TomcatEmbeddedServletContainerFactory回调接口定制嵌入式 Tomcat 容器则应该使用TomcatServletWebServerFactory。 特定于 Servlet 的服务器属性 许多server.* 属性 ( Servlet 特有的) 已经转移到server.servlet 旧的属性新的属性server.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 Web Starter 作为传递依赖 以前有几个 Spring Boot starter 是依赖于 Spring MVC 而传递的spring-boot-starter-web。在 Spring WebFlux 新的支持下spring-boot-starter-mustachespring-boot-starter-freemarker并spring-boot-starter-thymeleaf不再依赖它。开发者有责任选择和添加spring-boot-starter-web或spring-boot-starter-webflux。 模板引擎 Mustache 模板曾经的文件扩展名是.html现在的扩展名为 .mustache 与官方规范和大多数 IDE 插件一致。您可以通过更改spring.mustache.suffix配置键来覆盖此新的默认值。 Jackson / JSON 支持 在 2.0 中我们改变了 Jackson 配置的默认值将 ISO-8601 字符串 写为 JSR-310 日期 。如果你想回到以前的行为你可以添加spring.jackson.serialization.write-dates-as-timestampstrue到你的配置。 新的spring-boot-starter-json starter 收集了必要的位去读写 JSON。它不仅提供了jackson-databind而且提供了和 Java8 一起运作的时候相当有用的组件jackson-datatype-jdk8, jackson-datatype-jsr310 和 jackson-module-parameter-names。如果你曾经手动地依赖这些组件现在可以依赖这个新的 starter 取代。 Spring MVC 路径匹配默认行为更改 我们已决定在 Spring MVC 应用程序中更改后缀路径匹配的默认值请参阅11105。按照 Spring Framework 中记录的最佳实践此功能不再默认启用。 如果您的应用程序希望将请求GET /projects/spring-boot.json映射到GetMapping(/projects/spring-boot)映射则此更改会影响您。 有关此更多信息以及如何减轻此更改请查阅Spring Boot中有关路径匹配和内容协商的参考文档。 Servlet 过滤器 Servlet 过滤器的默认调度程序类型现在是DipatcherType.REQUEST; 这使 Spring Boot 的默认值与 Servlet 规范的默认值一致。如果您希望将过滤器映射到其他调度程序类型请使用FilterRegistrationBean注册您的过滤器。 注意Spring Security 和 Spring Session 过滤器配置 ASYNC, ERROR以及 REQUEST 调度类型。 RestTemplateBuilder 该requestFactory(ClientHttpRequestFactory)方法已被新requestFactory(SupplierClientHttpRequestFactory requestFactorySupplier)方法所取代。Supplier允许构建器生成的每个模板使用它自己的请求工厂从而避免共享工厂可能导致的副作用。见11255。 WebJars 定位器 Spring Boot 1.x 使用并提供依赖关系管理org.webjars:webjars-locator。webjars-locator是一个“命名不佳的库……包装webjars-locator-core项目”。org.webjars:webjars-locator应该更新依赖项来org.webjars:webjars-locator-core代替使用。 Security Spring Boot 2 极大地简化了默认的安全配置并使添加定制安全变得简单。Spring Boot 现在具有一种行为只要您添加自己的 WebSecurityConfigurerAdapter 就会退出而不是进行多种与安全性相关的自动配置。 如果您使用以下任何属性则会受到影响 security.basic.authorize-modesecurity.basic.enabledsecurity.basic.pathsecurity.basic.realmsecurity.enable-csrfsecurity.headers.cachesecurity.headers.content-security-policysecurity.headers.content-security-policy-modesecurity.headers.content-typesecurity.headers.framesecurity.headers.hstssecurity.headers.xsssecurity.ignoredsecurity.require-sslsecurity.sessions默认安全 安全自动配置不再公开选项并尽可能使用 Spring Security 默认值。一个明显的副作用是使用 Spring Security 的内容协商进行授权表单登录。 默认用户 默认情况下Spring Boot 使用生成的密码配置单个用户。用户可以使用 spring.security.user.* 属性进行配置。要进一步定制用户或添加其他用户您将不得不公开一个UserDetailsServicebean。 AuthenticationManager Bean 如果您想将 Spring Security AuthenticationManager作为 bean 公开请覆盖authenticationManagerBean您的方法WebSecurityConfigurerAdapter并为其添加注释Bean。 OAuth2 从功能的 Spring Security OAuth 项目 迁移到核心 Spring Security。不再为依赖关系提供依赖管理Spring Boot 2 通过 Spring Security 5 提供 OAuth 2.0 客户端支持。 如果您依赖尚未迁移的 Spring Security OAuth 功能则需要在其他 jar 上添加依赖项请查看文档以获取更多详细信息。我们还继续支持 Spring Boot 1.5以便旧版应用程序可以继续使用它直到提供升级路径。 执行器安全 执行器不再有单独的安全自动配置management.security.*属性消失。sensitive每个端点的标志也没有在安全配置中变得更加明确。如果您依赖于此行为则需要创建或调整您的安全配置以保护您选择角色的端点。 例如假设以下配置 endpoints.flyway.sensitivefalseendpoints.info.sensitivetruemanagement.security.rolesMY_ADMINhttp .authorizeRequests() .requestMatchers(EndpointRequest.to(health, flyway)).permitAll() .requestMatchers(EndpointRequest.toAnyEndpoint()).hasRole(MY_ADMIN) ...需要注意的是在2.xhealth和info在默认情况下启用与health默认情况下不显示其细节。为了与这些新的默认值一致health已被添加到第一个匹配器。 使用 SQL 数据库 配置数据源 默认连接池已从 Tomcat 切换到 HikariCP。如果您过去spring.datasource.type在基于 Tomcat 的应用程序中强制使用 Hikari现在可以删除重写。 特别是如果你有这样的设置 dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-data-jpa/artifactId exclusions exclusion groupIdorg.apache.tomcat/groupId artifactIdtomcat-jdbc/artifactId /exclusion /exclusions/dependencydependency groupIdcom.zaxxer/groupId artifactIdHikariCP/artifactId/dependency现在可以这样修改 dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-data-jpa/artifactId/dependencyWARN 消息隐含的’打开在视图’ 从现在起未明确启用的应用程序spring.jpa.open-in-view将在启动过程中收到警告消息。虽然这种行为是一种友好的默认行为但如果您没有完全意识到为您做了什么这可能会导致问题。此消息可确保您了解可在查看呈现期间执行数据库查询。如果你没有问题你可以明确地配置这个属性来消除警告信息。 JPA 和 Spring Data 在 Spring Boot 1.x 中一些用户正在扩展HibernateJpaAutoConfiguration以将高级自定义应用于自动配置EntityManagerFactory。为了防止发生这种错误的用例Spring Boot 2 中不再可能扩展它。 为了支持这些用例现在可以定义一个HibernatePropertiesCustomizerbean它可以完全控制 Hibernate 属性包括注册在上下文中声明为 bean 的 Hibernate 拦截器的能力。 Flyway Flyway 配置键被移动到spring命名空间即spring.flyway 升级到 Spring Boot 2 将会将 Flyway 升级3.x到5.x。为确保模式升级顺利进行请按照以下说明操作 首先将您的1.5.xSpring Boot 应用程序升级到 Flyway 4请参阅Maven和Gradle的说明。一旦您的架构升级到了 Flyway 4升级到 Spring Boot 2 并再次运行迁移以将您的应用程序移植到 Flyway 5。 Liquibase Liquibase 配置键被移动到spring命名空间即spring.liquibase 数据库初始化 基本DataSource初始化现在仅针对嵌入式数据源启用并将在您使用生产数据库时立即关闭。新的spring.datasource.initialization-mode替换spring.datasource.initialize提供更多的控制。 更新默认的’创建 - 删除’处理 spring.jpa.hibernate.ddl-auto 属性默认为只有在没有使用 Liquibase 或 Flyway 等模式管理器时才使用嵌入式数据库进行创建。一旦检测到模式管理器默认更改为 none。 整合 NoSQL Redis 现在使用的是 Lettuce 而不是 Jedis 作为 Redis 驱动程序spring-boot-starter-redis。如果您使用更高级别的Spring Data 构造则应该发现变化是透明的。我们仍然支持 Jedis如果您愿意通过排除 io.lettucelettuce-core并添加 redis.clientsjedis则可以自由切换依赖项。 Elasticsearch Elasticsearch 已经升级到 6.0。与 Elastic 宣布嵌入式 Elasticsearch 不再受支持一致自动配置NodeClient已被删除。TransportClient可以通过使用spring.data.elasticsearch.cluster-nodes提供要连接的一个或多个节点的地址来自动配置。 高速缓存 用于缓存的专用 Hazelcast 自动配置。 无法自动配置常规HazelcastInstance和专用HazelcastInstance缓存。因此该spring.cache.hazelcast.config属性已不再可用。 批量 在启动时执行批处理作业的 CommandLineRunner 的顺序为 0。 测试 Mockito 1.x Mockito 1.x 不再支持MockBean和SpyBean。如果你不用spring-boot-starter-test来管理你的依赖关系你应该升级到 Mockito 2.x. Spring Boot Actuator Spring Boot 2 为 Actuator 带来了重要变化无论是内部还是面向用户请查阅参考指南中的更新部分和新的Actuator API文档。 您应该期望编程模型配置密钥和某些端点的响应格式发生变化。Actuator 现在在 Spring MVCSpring WebFlux 和Jersey 上得到本地支持。 构建 Actuator 的代码分为两个模块现有的spring-boot-actuator和新的spring-boot-actuator-autoconfigure。如果您使用原始模块spring-boot-actuator导入 actuator请考虑使用spring-boot-starter-actuator启动器替代它。 Keys 的配置结构 Endpoints 基础配置 key 已经统一 旧的属性新的属性endpoints.id.*management.endpoint.id.*endpoints.cors.*management.endpoints.web.cors.*endpoints.jmx.*management.endpoints.jmx.*management.addressmanagement.server.addressmanagement.context-pathmanagement.server.servlet.context-pathmanagement.ssl.*management.server.ssl.*management.portmanagement.server.port 基本路径 所有 endpoints 默认情况下都已移至 /actuator。 我们修改了 management.server.servlet.context-path 的含义它现在是 server.servlet.context-path 的端点管理的等价替代只有在设置了 management.server.port 时才有效。另外您还可以使用新的单独属性 management.endpoints.web.base-path 为管理端点设置基本路径。 例如如果你设置management.server.servlet.context-path/management和management.endpoints.web.base-path/application你就可以在下面的路径到达终点健康/management/application/health。 如果你想恢复 1.x 的行为即具有/health代替/actuator/health设置以下属性 management.endpoints.web.base-path/审计事件 API 更改 AuditEventRepository 现在有一个包含所有可选参数的单一方法。 Endpoints 要通过 HTTP 使执行器端点可用它需要同时启用和公开。默认 无论您的应用程序中是否存在和配置 Spring Security只有端点/health和/info端点都是暴露的。所有端点但/shutdown已启用。 您可以按如下方式公开所有端点 management.endpoints.web.exposure.include*您可以通过以下方式显式启用/shutdown端点 management.endpoint.shutdown.enabledtrue要公开所有已启用网络端点除env端点之外 management.endpoints.web.exposure.include*management.endpoints.web.exposure.excludeenvEndpoint changes 1.x 端点2.0 端点改变/actuator不再可用。 但是在 management.endpoints.web.base-path 的根目录中有一个映射它提供了到所有暴露端点的链接。/auditevents该after参数不再需要/autoconfig重命名为 /conditions/docs不再可用/health现在有一个 management.endpoint.health.show-details 选项 never, always, when-authenticated而不是依靠 sensitive 标志来确定 health 端点是否必须显示全部细节。 默认情况下/actuator/health公开并且不显示细节。/trace重命名为 /httptrace 端点属性已更改如下 endpoints.id.enabled 已经转移到了 management.endpoint.id.enabledendpoints.id.id 没有替换端点的 ID 不再可配置endpoints.id.sensitive没有替代品请参见执行器安全endpoints.id.path 已经转移到了 management.endpoints.web.path-mapping.id 端点格式 /actuator/mappings 端点大改变 JSON 格式已经更改为现在正确地包含有关上下文层次结构多个DispatcherServlets部署的 Servlet 和 Servlet 过滤器的信息。详情请参阅9979。 Actuator API 文档的相关部分提供了一个示例文档。 /actuator/httptrace 端点大改变 响应的结构已经过改进以反映端点关注跟踪 HTTP 请求 - 响应交换的情况。 迁移自定义端点 如果您有自定义执行器端点请查看专用博客文章。该团队还撰写了一个 wiki 页面介绍如何将现有的执行器端点迁移到新的基础架构。 Metrics Spring Boot 自己的指标已被支持取代包括自动配置用于 icrometer 和 dimensional 指标。 设置 icrometer 如果您的 Spring Boot 2.0 应用程序已依赖于 Actuator则 icrometer 已在此处并自动配置。如果您希望将度量标准导出到 PrometheusAtlas 或 Datadog 等外部注册表Micrometer 将为许多注册表提供依赖关系; 您可以使用spring.metrics.*属性配置您的应用程序以导出到特定的注册表。 迁移定制计数器/量表 您可以通过以下方式创建各种指标而不是在应用程序代码中注入CounterService或GaugeService的实例 注入MeterRegistry和调用方法。直接调用静态方法Counter featureCounter Metrics.counter(feature);。 开发者工具 热拔插 由于 Spring Loaded 项目被搁置它在 Spring Boot 的支持已被删除。我们建议使用 Devtools。 Devtools 远程调试隧道 已经从 Devtools 中删除了对通过 HTTP 进行隧道远程调试的支持。 已删除的功能 以下功能不再可用 CRaSH 支持Spring Mobile 的自动配置和依赖关系管理。Spring Social 的自动配置和依赖关系管理。依赖关系管理commons-digester。 依赖版本 以下库的最低支持版本已更改 Elasticsearch 5.6Gradle 4Hibernate 5.2Jetty 9.4Spring Framework 5Spring Security 5Tomcat 8.5 参考资料 https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0-Migration-Guide
http://www.yutouwan.com/news/493033/

相关文章:

  • 网站 建设在作用是什么如何把网站上传到网上
  • 朔州网站建设收费全球购海外商城官网
  • 做寝室介绍网站163企业邮箱免费
  • 做服装招聘的网站网站制作现状解决方案
  • 邵阳市城乡建设厅网站番禺网站开发系统
  • 深圳网站策划推广百度小说
  • app制作程序苏州seo关键词排名
  • 设计素材网站推荐2023北京网站设计济南兴田德润评价
  • 外贸商城网站系统大庆市建设局宫方网站
  • 网站建设公司2018-10-1网站建设未来发展的趋势
  • 水果网页制作模板百度快照优化网站
  • 西安seo优化公司郑州网站优化排名
  • 工业品公司做商城网站好吗制作手机软件的软件
  • 网站开发需要哪些流程怎样给网站登录界面做后台
  • 怎么搭建自己的网站挣钱网页微信网址
  • 网站平台如何推广dw个人网页制作模板源代码
  • 怎么做传奇网站图黄江网站建设公司
  • 常用设计网站建站资源免费
  • 去年做哪些网站能致富做网站套模板
  • 做兼职什么网站最专业网站建设公司首选
  • 上海沪港建设咨询有限公司网站群晖wordpress怎么用
  • 网站建设前期需要做出的准备网站开发的大学生应届简历
  • 新手写作网站seo推广技术培训
  • 上海餐饮网站建设想注册个网站做短租房投资多少钱
  • 网站广告形式泽州县住房保障和城乡建设局网站
  • 深圳最近消息搜素引擎排名优化
  • 惠州网站建设模板合作阿里巴巴司法拍卖网官网
  • 网站设计最新风格如何弄微信小程序店铺
  • 怎么把网站排名排上去google网站优化工具
  • 建网页放到什么网站上网站怎么做微信接口