学成在线项目学习

技术栈

学成在线服务端基于Spring Boot构建,采用Spring Cloud微服务框架。
持久层:MySQL、MongoDB、Redis、ElasticSearch
数据访问层:使用Spring Data JPA 、Mybatis、Spring Data Mongodb等
业务层:Spring IOC、Aop事务控制、Spring Task任务调度、Feign、Ribbon、Spring AMQP、Spring Data Redis
等。
控制层:Spring MVC、FastJSON、RestTemplate、Spring Security Oauth2+JWT等
微服务治理:Eureka、Zuul、Hystrix、Spring Cloud Config等

遇到的问题

clean报错 [ERROR] [ERROR] Some problems were encountered while processing the POMs: [ERROR] ‘dependencies.dependency.version’ for org.springframework.cloud:spring-cloud-starter-feign:jar is missing.

解决方法:spring-cloud-starter-feign 没有指定版本,看一下cloud-parent版本2.0.3,选择了版本1.4.5.RELEASE

private modle mapper找不到

在这里插入图片描述
解决方法:在application里面配置dao扫描
在这里插入图片描述

新学习知识

CmsSite:站点模型
CmsTemplate:页面模板
CmsPage:页面信息
属性说明:
1、定义一个页面需要指定页面所属站点
一个站点包括多个页面,比如:学成在线的门户站点(网站)包括了多个页面。
2、定义一个页面需要指定页面使用的模板
多个页面可以使用相同的模板,比如:商品信息模板,每个商品就是一个页面,所有商品使用同一个商品信息模板

注解说明:
@Data, @EqualsAndHashCode(callSuper=false)@Accessors(chain=true) 都是 Lombok 库提供的注解,它们分别用来简化 Java 类的定义以及处理常见 getter/setter、equals 和 hashCode 方法以及属性访问器的链式调用。

  1. @Data
    @Data 注解是 Lombok中的一个组合注解,它相当于同时应用了多个注解,包括但不限于:

    • @ToString: 自动生成 toString() 方法。
    • @EqualsAndHashCode: 默认生成 equals 和 hashCode 方法,除非指定 callSuper=false(见下文)。
    • @Getter / @Setter: 为所有字段生成 getter 和 setter 方法。
    • @RequiredArgsConstructor: 如果类中有 final 或者非 null 字段,则生成一个构造函数。
    • @AllArgsConstructor: 如果没有明确指定,则还会生成一个包含所有字段的构造函数。
  2. @EqualsAndHashCode(callSuper=false)
    当应用于类上时,@EqualsAndHashCode 将自动生成 equals()hashCode() 方法的实现。这里的 callSuper=false 参数意味着在计算 equals 和 hashCode 时不考虑父类的字段。如果不设置或者设置为 true,则会默认调用超类的相应方法来参与计算。

  3. @Accessors(chain=true)
    这个注解作用于类级别,控制生成的 getter 和 setter 方法是否具有链式调用的能力。当 chain=true 时,setter 方法将会返回 this 对象,允许连续调用不同的 setter 方法而不必每次都重新获取对象引用,从而实现更简洁的代码风格:

    @Data
    @Accessors(chain=true)
    public class Person {private String firstName;private String lastName;
    }// 链式调用示例
    Person person = new Person().setFirstName("John").setLastName("Doe");
    
  4. @ToString
    当你在类上添加 @ToString 注解时,Lombok 会在编译期间生成一个 toString() 方法的实现。这个方法返回当前对象的字符串表示形式,通常包含类中所有字段(非静态和非瞬态字段)的值。默认情况下,所有字段都会被包含在内,但如果需要排除某些字段,可以使用 @ToString.Exclude 注解标记不需要的字段。

    示例:

    @ToString
    public class Person {private String name;private int age;// 不会被包含在 toString 中@ToString.Excludeprivate Address address;
    }
    

    使用 @ToString 后,编译后的类会自动生成类似如下的 toString() 方法:

    public String toString() {return "Person{" +"name='" + name + '\'' +", age=" + age +'}';
    }
    
  5. @AllArgsConstructor
    添加 @AllArgsConstructor 注解到类上时,Lombok 会在编译期间生成一个全参数构造函数。这个构造函数接受类中所有字段(包括非静态和非瞬态字段)作为参数,并将这些参数赋值给对应的字段。

    示例:

    @AllArgsConstructor
    public class Person {private String name;private int age;private Address address;
    }
    

    编译后,Lombok 会自动生成如下构造函数:

    public Person(String name, int age, Address address) {this.name = name;this.age = age;this.address = address;
    }
    

注解报错需要安装插件:compiler,plugin
在这里插入图片描述
http client插件:可以自动生成测试用的http

新学习名词

cms(Content Management System)即内容管理系统,不同的项目对CMS的定位不同,比如:一个在线教育网站,有些公司认为CMS系统是对所有的课程资源进行管理,而在早期网站刚开始盛行时很多公司的业务是网站制作,当时对CMS的定位是创建网站,即对网站的页面、图片等静态资源进行管理。

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

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

相关文章

3D软件坐标系速查

本文介绍不同3D软件的世界坐标系之间的差异及其工作原理。 基本上,游戏引擎和3D软件包最重要的问题是根据软件的坐标轴系统创建资产,正确缩放它们并根据要完成的工作设置枢轴系统。 坐标系正确性的定义可能会根据模型导入的游戏引擎或 3D 软件而变化。…

【C语言】linux内核pci_set_drvdata函数

一、讲解 该函数pci_set_drvdata是Linux内核中用于PCI设备的一个辅助函数,其主要作用是设置给定PCI设备的驱动程序私有数据。这个函数的参数包括一个指向pci_dev结构体的指针pdev,该结构体描述了一个PCI设备,以及一个void *类型的指针data&a…

鸿蒙OS实例:同步获取应用配置的【versionCode和versionName】

1.同步方式获取 首先需要导包&#xff1a; import bundleManager from ohos.bundle.bundleManager 工具类&#xff1a; public static async getVersionName(): Promise<string> {try {let bundleInfo await bundleManager.getBundleInfoForSelf(bundleManager.Bundle…

面试经典150题【111-120】

文章目录 面试经典150题【111-120】67.二进制求和190.颠倒二进制位191.位1的个数136.只出现一次的数字137.只出现一次的数字II201.数字范围按位与5.最长回文子串97.交错字符串72.编辑距离221.最大正方形 面试经典150题【111-120】 六道位运算&#xff0c;四道二维dp 67.二进制…

Profinet转ModbusTCP:从站设备转换与集成案例

本案例旨在探讨如何将Modbus TCP设备数据成功地接入到西门子PROFINET网络中。为了实 现这一目标&#xff0c;我们将使用西门子S7-1200型PLC以及耐特森Profinet转ModbusTCP网关作为 关键设备。为了模拟Modbus从站&#xff0c;我们将使用电脑安装modbus poll软件。首先需要了解Pr…

VLAN的原理及配置

文章目录 一、VLAN的概述1、VLAN的概念2、VLAN的优势 二、静态VLAN三、静态VLAN的配置1.VLAN的范围2.VLAN基本配置 四、Trunk和access的作用参考 一、VLAN的概述 1、VLAN的概念 VLAN就是将网络从逻辑上划分为若按个小的网络&#xff0c;也就是虚拟局域网。 2、VLAN的优势 使…

逐步学习Go-并发通道chan(channel)

概述 Go的Routines并发模型是基于CSP&#xff0c;如果你看过七周七并发&#xff0c;那么你应该了解。 什么是CSP&#xff1f; "Communicating Sequential Processes"&#xff08;CSP&#xff09;这个词组的含义来自其英文直译以及在计算机科学中的使用环境。 CSP…

今日AI热点:科技前沿新动态

引言&#xff1a; 人工智能领域日新月异&#xff0c;每天都有令人振奋的新进展。从苹果到谷歌&#xff0c;从OpenAI到Meta&#xff0c;各大科技巨头纷纷推出创新产品和技术&#xff0c;不断推动着人工智能的发展。让我们一起来看看今日AI热点&#xff0c;探索这个充满活力和激情…

软件测试技术之登录页面测试用例的设计方法

相信大家都有过写登录测试用例的经验&#xff0c;相较于开发人员编写代码而言&#xff0c;测试人员编写用例同样重要。本文作者总结了一些关于登录用例的经验。 一、功能测试用例设计&#xff1a; 1、正常登录场景 测试用例1&#xff1a;输入正确的用户名和密码&#xff0c;验证…

rmvb怎么转换为mp4?最简单方法!

各种文件格式层出不穷&#xff0c;而RMVB&#xff08;RealMedia Variable Bitrate&#xff09;格式作为一种独特的视频文件格式&#xff0c;其起源可以追溯到上世纪90年代。当时&#xff0c;随着数字视频的崛起&#xff0c;RealNetworks公司迎来了一项重要任务&#xff1a;提供…

20240320-1-梯度下降

梯度下降法面试题 1. 机器学习中为什么需要梯度下降 梯度下降的作用&#xff1a; 梯度下降是迭代法的一种&#xff0c;可以用于求解最小二乘问题。在求解损失函数的最小值时&#xff0c;可以通过梯度下降法来一步步的迭代求解&#xff0c;得到最小化的损失函数和模型参数值。…

如何应对Android面试官->进程通信如何注册与获取服务

前言 大家好&#xff0c;我是老A&#xff1b; 这个章节继续上一章节继续讲解&#xff0c;主要讲解下 java 层服务的注册与获取、线程池&#xff1b;我们基于 AMS 来看下 java 层是如何获取的&#xff1b; SystemServer SystemServer 的启动也是 main 函数&#xff0c;我们进入…