学习springboot

springboot精要

1.自动配置

  Springboot会为一些常见场景进行自动配置。这些自动配置涉及Java持久化API(Java Persistence API,JPA)、Thymeleaf模板、安全和Spring MVC等等很多。

2.起步依赖

  Spring Boot通过起步依赖为项目的依赖管理提供帮助。起步依赖其实就是特殊的Maven依赖和Gradle依赖,利用了传递依赖解析,把常用库聚合在一起,组成了几个为特定功能而定制的依赖。使用起步依赖只需要在web起步依赖中添加

            <dependency>

<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>

</dependency>

   比起减少依赖数量,起步依赖还引入了一些微妙的变化。向项目中添加了Web起步依赖,实际上指定了应用程序所需的一类功能。因为应用是个Web应用程序,所以加入了Web起步依赖。与之类似,如果应用程序要用到JPA持久化,那么就可以加入jpa起步依赖。如果需要安全功能,那就加入security起步依赖。简而言之,你不再需要考虑支持某种功能要用什么库了,引入相关起 步依赖就行。
  此外,Spring Boot的起步依赖还把你从“需要这些库的哪些版本”这个问题里解放了出来。
起步依赖引入的库的版本都是经过测试的,因此你可以完全放心,它们之间不会出现不兼容的
情况。

3.命令行界面

  Spring Boot CLI的命令行界面,Spring Boot CLI是Spring Boot的非必要组成部分。

4. Actuator

  其他几个部分旨在简化Spring开发,而Actuator则要提供在运行时检视应用程序内部情况的能力。包括:1 Spring应用程序上下文里配置的Bean、2.Spring Boot的自动配置做的决策、3.应用程序取到的环境变量、系统属性、配置属性和命令行参数、4应用程序里线程的当前状态、5.应用程序最近处理过的HTTP请求的追踪情况、6.各种和内存用量、垃圾回收、Web请求以及数据源用量相关的指标。

运用Springboot项目

1.启动Springboot项目

ReadingListApplication.java 是启动引导类和配置类,@SpringBootApplication注解开启了组件扫描和自动配置,它是三个有用的注解组合在了一起。

  Spring的 @Configuration :标明该类使用Spring基于Java的配置。虽然本书不会写太多配置,但我们会更倾向于使用基于Java而不是XML的配置。

  Spring的 @ComponentScan :启用组件扫描,这样你写的Web控制器类和其他组件才能被自动发现并注册为Spring应用程序上下文里的Bean。本章稍后会写一个简单的Spring MVC控制器,使用 @Controller 进行注解,这样组件扫描才能找到它。

  Spring Boot 的 @EnableAutoConfiguration : 这 个 不 起 眼 的 小 注 解 也 可 以 称 为@Abracadabra,就是这一行配置开启了Spring Boot自动配置的魔力,让你不用再写成篇的配置了。

在Springboot早起需要配置这三个注解,现在只要配置@SpringBootApplication就可以了。

2.配置属性

项目生成了application.properties文件,这是一个可选的空文件,删掉也不会有影响。application.properties文件还可以通过修改名称变为application.yml文件,这种配置文件的格式更加好用。

3.起步依赖

在构建项目的时候,可以选择使用Maven库作为依赖库,同时还可以选择一些基础的依赖,比如数据库依赖,Thymeleaf和Spring Data JPA依赖,这些在构建项目后可以在pom.xml里看到。如果需要添加其他依赖,可以在直接在pom.xml文件里添加。起步依赖可以被覆盖,方式同向pom.xml添加依赖一样。


使用优化算法,以优化VMD算法的惩罚因子惩罚因子 (α) 和分解层数 (K)。 1、将量子粒子群优化(QPSO)算法与变分模态分解(VMD)算法结合 VMD算法背景: VMD算法是一种自适应信号分解算法,主要用于分解信号为不同频率带宽的模态。 VMD的关键参数包括: 惩罚因子 α:控制带宽的限制。 分解层数 K:决定分解出的模态数。 QPSO算法背景: 量子粒子群优化(QPSO)是一种基于粒子群优化(PSO)的一种改进算法,通过量子行为模型增强全局搜索能力。 QPSO通过粒子的量子行为使其在搜索空间中不受位置限制,从而提高算法的收敛速度与全局优化能力。 任务: 使用QPSO优化VMD中的惩罚因子 α 和分解层数 K,以获得信号分解的最佳效果。 计划: 定义适应度函数:适应度函数根据VMD分解的效果来定义,通常使用重构信号的误差(例如均方误差、交叉熵等)来衡量分解的质量。 初始化QPSO粒子:定义粒子的位置和速度,表示 α 和 K 两个参数。初始化时需要在一个合理的范围内为每个粒子分配初始位置。 执行VMD分解:对每一组 α 和 K 参数,运行VMD算法分解信号。 更新QPSO粒子:使用QPSO算法更新粒子的状态,根据适应度函数调整粒子的搜索方向和位置。 迭代求解:重复QPSO的粒子更新步骤,直到满足终止条件(如适应度函数达到设定阈值,或最大迭代次数)。 输出优化结果:最终,QPSO算法会返回一个优化的 α 和 K,从而使VMD分解效果最佳。 2、将极光粒子(PLO)算法与变分模态分解(VMD)算法结合 PLO的优点与适用性 强大的全局搜索能力:PLO通过模拟极光粒子的运动,能够更高效地探索复杂的多峰优化问题,避免陷入局部最优。 鲁棒性强:PLO在面对高维、多模态问题时有较好的适应性,因此适合海上风电时间序列这种非线性、多噪声的数据。 应用场景:PLO适合用于优化VMD参数(α 和 K),并将其用于风电时间序列的预测任务。 进一步优化的建议 a. 实现更细致的PLO更新策略,优化极光粒子的运动模型。 b. 将PLO优化后的VMD应用于真实的海上风电数据,结合LSTM或XGBoost等模型进行风电功率预测。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值