自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

原创 一文了解简单工厂,工厂方法模型,抽象工厂

什么是工厂模式?工厂模式的设计思想就是建造一个工厂来创建和管理对象,用工厂创建来代替new对象。调用者不需要知道对象的具体创建过程。传统思想:需要使用new()方法来实例化一个对象,这个可以适用于简单对象的创建,不适合复杂对象的创建,比如参数过多的话,调用者就会在实例化对象上耗时,而且容易出错。工厂设计模式:创建一个对象工厂,用来创建对象和管理对象,这样有利于对象的维护和解耦,而且调用者可以更加专注于业务的实现,不用在创建对象上耗时。工厂模式有以下几种**简单工厂**简单工厂如下图对

2021-09-22 14:29:15 287

原创 在线教育项目技术--单点登录(SSO)

什么是单点登录?(SSO)很早之前,互联网还没有怎么发达,需要应用都只有一台service。但是随着科技的发展,service越来越多,登录的时候就会变得非常繁琐,比如百度,百度网盘,百度图库。这些都是百度系列的模块,如果你要使用的话,就需要一个一个地登录,退出也要一个一个的退出,这样用户体验就非常不好。这就造成单点登录的产生。单点登录只需要登录一次,退出一次就行了,登录一次就可以使用整个系列的所有模块。单点登录三种方式Session广播机制简单的来说session广播机制就是session共

2021-06-09 11:11:18 277

原创 在线教育项目技术--oAuth

什么是oAuth?OAuth 为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密 码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此OAUTH是安全的。简单的地说就是开放系统间的授权。oAuth是一种标准,不是一种协议。如何使用oAuth?oAuth是基于token使用的,是颁发令牌,吊销令牌,管理令牌的统一标准。第三方登录–微信,第三方应用–网易云音乐。简单来说,第三方应用(网易

2021-06-09 10:28:23 209

原创 在线教育项目第三方技术(3)--网易云信短信服务

网易云信短信服务的地址:https://app.yunxin.163.com/index?#/app/smsTpl什么是网易云信短信服务?短信服务(Short Message Service)是网易云信为用户提供的一种通信服务的能力,目前支持验证码类短信、通知类短信、运营类短信、语音类短信、国际短信等事务性短信。网易云信短信具体有全网覆盖、3-5 秒可达、超高到达率、7*24 小时服务监控等优势。按量付费、阶梯定价,发送越多单价越低。短信接口API调用简单,加快接入速度。开通网易云信短信服务

2021-06-08 22:34:46 261

原创 在线教育项目第三方技术(2)--视频点播

什么是视频点播?阿里云视频点播(ApsaraVideo VoD)是集音视频采集、编辑、上传、自动化转码处理、媒体资源管理、高效云剪辑处理、分发加速、视频播放于一体的一站式音视频点播解决方案。阿里云视频点播基于阿里云强大的基础设施服务,面向视频网站、短视频、在线教育、娱乐社交、新闻传媒等行业,提供端-云-端的视频全链路服务,帮助企业和开发者快速搭建安全、弹性、高效、可定制的视频点播平台和应用。简单的来说就是云平台提供可以上传和下载视频的地方,当然还可以在线播放,无论在哪里,在什么时候,只要有互联网就可以

2021-06-08 21:44:17 261

原创 在线教育项目第三方技术(1)--对象存储OSS

什么是阿里云对象存储?阿里云对象存储服务(Object Storage Service,简称OSS),是阿里云对外提供的海量、安全、低成本、高可靠的云存储服务。您可以通过本文档提供的简单的REST接口,在任何时间、任何地点、任何互联网设备上进行上传和下载数据。基于OSS,您可以搭建出各种多媒体分享网站、网盘、个人和企业数据备份等基于大规模数据的服务。简单来说就是云存储,无论什么时候都可以对云存储的数据进行操作.如何开通阿里云对象存储–对象存储OSS?第一步: 进入阿里云首页: https://ww

2021-06-07 15:58:35 182

原创 在线教育项目框架(5)--EasyExcel

什么是EasyExcel?EasyExcel是阿里巴巴集团下的一个生成和解析Excel的框架。EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。在尽可能节约内存的情况下支持读写百M的Excel。通俗点说就是可以可以更加方便读取,生成Excel。EasyExcel的官网地址https://www.yuque.com/easyexcel/doc/easyexcel官网有读取Excel和生成Excel的案例代码都有,非常详细了。综合代码讲解:准备工作,导入EasyExc

2021-06-07 10:56:50 134

原创 在线教育项目框架(4)--spring security

学习spring security之前需要什么技术spring boot基础一定要会,如果没有spring boot基础的话,你会发现看那些注解或者源码时一脸懵的。javaweb基础一定要会一点,这个安全框架是基于web环境的,当然javaweb也包括过滤器,拦截器这些基本知识。mybatis 框架也是要会的,因为在做用户认证的时候,会操作数据库进行用户名匹配。当然,如果你学过mybatis-plus更加好了,因为mybatis-plus是mybatis快速开发的脚手架,很多简单的增删改查都有接口。

2021-06-06 23:40:02 196 4

原创 在线教育项目框架(3)--redis

什么是redisRedis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。redis的结构类型Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。redis的应用场景redis通常用于访问量大但是数据不经常修改的(读的量大但是不经常写),就相当于

2021-05-31 21:50:09 154 1

原创 在线教育项目框架(2)--Mybatis-plus

MyBatis-Plus (简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。(简单来说普通的CRUD可以mybatis-plus帮你做,但是复杂的CRUD–涉及多表的设计还是自定义sql好一点)mybatis-plus官网 https://baomidou.com/guide/Mybtis-plus的特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗.

2021-05-31 21:13:42 109 3

原创 在线教育项目框架(1)------springcloud全套讲解

spring cloud 它不是一个框架,它是众多框架(组件)的有序集合,它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发。如今微服务架构流行,市面上也出现了许多支持和兼容微服务架构的技术,而spring cloud就是这些架构的翘楚。springcloud常用的五大组件服务网关(gateway)服务发现(nacos注册)服务调用(Feign)熔断器(Hystrix)spring cloud config (配置中心)什么是服务网关:服务网关有点..

2021-05-29 19:34:07 514 2

原创 maven项目打包成war格式(idea)并部署到Tomcat上

在idea中打包maven项目,且格式是war首先第一步:在pom.xml配置文件中添加打包的格式添加war在pom.xml中添加 <plugins> <!--加上此代码即可--> <plugin> <groupId>org.apache.maven.plugins</groupId> &lt

2020-12-04 12:47:09 410

原创 springboot中的Controller层单元测试一直报属性字段为空的错误

其中我的实体类是这样的@Data@AllArgsConstructor@NoArgsConstructor@Entity@Table(name = "exam_project")@ApiModel("项目实体类")public class item {/** @Id:声明这是一个主键 @GeneratedValue:主键生成策略 像自增策略 strategy: 策略生成方式 @Column: 对应数据库表中的字段

2020-10-21 21:34:01 700

原创 swagger2中@ApiModelProperty注释在测试网页不显示问题

swagger2在实体类中不能显示字段注释 // @NotBlank 用于String字段的校验 @ApiModelProperty(value = "项目名") @NotBlank(message = "项目名不为空") @Column(name = "project_name") private String ProjectName; @NotBlank(message = "项目时长不为空") @Column(name = "project_dur

2020-10-20 11:06:56 5699 1

原创 springData jpa中@Query的delete删除出现问题

错误信息:部分错误信息:org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [delete from com.lsc.pojo.User u where u.id=?1]; nested exception is java.lang.IllegalSta

2020-10-08 23:05:02 1441

原创 Hibernate执行查询语句时找不到表

错误显示:错误提示是因为找不到这个User_jpa表。解决方法;因为实体类和表已经建立了映射关系。这里查询的时候用实体类的名字就行了。这样问题就解决了。

2020-10-03 00:21:12 230

原创 jpa中的@Column报红

红色报错:解决方法:然后报错就解决了

2020-10-03 00:09:54 927

原创 hibernate在JPA规范中在控制台无法出现SQL语句

hibernate.show_sql是固定名字如果这个名字不是这个名字的话,在控制台就不会出现SQL语句了。<!-- name: 名称 hibernate.show_sql是固定名字 value: 是否在控制台显示SQL语句 true | false --> <property name="hibernate.show_sql" value="true"/><!-- name: 名称

2020-10-02 19:15:51 1948

原创 springboot+shiro整合

什么是shiro?Apache shiro是java的一个安全框架,shiro在开发中简单易用,其中shiro可以帮我们做:认证,授权,拦截,加密,会话处理,缓存等一些功能。什么是认证?登陆某一个网站的时候,需要判断用户使用已经登陆,判断用户是否登录就是认证什么是授权?登陆之后,需要判断用户的权限,然后按照不同的权限跳转到不同的页面。shiro的三大核心组件:SubjectSubject:即“当前操作用发户”。但是,在Shiro中,Subject这一概念并不仅仅指人,也可以是

2020-10-01 20:57:57 302

原创 java 多线程“同步锁”

什么是多线程同步:多个线程之间共享同一个资源。如果没有同步的话,多个线程就会出现异步,争CPU资源会出现数据错误,导致线程并发。有了同步后,可以实现数据的正确性。同步锁:同步锁中锁的是对象,不是方法或者是代码块。只有当一个线程停止时,另外一个线程才可以进入。这样可以保证数据同步,不会出现异步的情况。同步方法:synchronized关键字修饰的方法public synchronized static boolean lock(){ boolean flag = fa

2020-09-26 19:04:56 208

原创 线程中Runnable 和 Thread的区别

线程是java的核心技术,在一些人员访问量大的网站或者程序中,线程就显得极其重要了。实现线程有两个方法。一个是实现Runnable接口,一个是继承Thread类Runable 是一个接口,Thread子类实现Runnable接口和重写run()方法。Thread是一个java.land.Thread,Thread子类继承这个类并重写run()方法共同点:都是重写run()方法。不同点:Thread扩展只能实现单继承,只存在一个父类(java的继承都是单继承)灵活性低,Runnable是

2020-09-26 10:54:11 169

原创 java中静态方法和静态变量

什么是静态资源:用关键字static修饰的方法或者变量就是静态资源。 1.什么是静态方法:返回值类型前面用static修饰的方法(例如:public static void test()) 2.什么是静态变量:用关键字static修饰的变量(例如:private static int age)注意:用静态方法时,其方法中的变量必须是静态变量,不然就会报错。用静态变量时,无论是静态方法或者非静态方法都可以使用。一:静态方法只能使用静态变量例题如下:public class test {

2020-09-22 10:37:04 3309

原创 什么是可变对象和不可变对象

什么是可变对象?可变对象: 属性值变化时不创建新的对象。简单来说:就是一个对象创建之后,可以对其对象进行修改,修改之后,依旧指向同一个对象,除了八大基本类型和包装类型以及String类外。其他的都属于可变基本类型。例题: List list = new ArrayList(); list.add("上河图"); list.add("青木瓜上河图"); list.add("清明上河图"); System.out.print

2020-09-21 20:29:11 3685 2

原创 mybatis中的联表查询(一对一,一对多,多对一)

mybatis之联表处理定义所谓的联表处理都是利用结果接(resultMap)来实现的联表准备环境班级表: CREATE TABLE `class` ( `id` int NOT NULL, `classes` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8

2020-09-20 20:11:38 1967

转载 深度了解java的装箱和拆箱

下列以为博客是经过许多篇比较出来的博客链接:链接网站: http://www.cnblogs.com/dolphin0520/p/3780005.html

2020-09-13 23:05:27 70

原创 java中==和equals的区别

其中==和equals都是比较字符串对象是否相等的。== and equals()的区别==:是比较两个对象是否相同, 如果对象的类型是基本数据类型的话,比较的是这两个对象的值。 引用类型的话比较的是这两个对象的内存地址是否相同。注意:八大基本类型:byte int short char long double float booleanequals():它的作用也是判断两个对象是否正确,它不能用于比较基本数据类型的变量。equals()方法存在于Object类中,而Object类是.

2020-09-13 20:12:41 68

原创 java 中 Continue, break and return的区别

Continue, break and return都是用于循环中(for,while循环中)Continue, break and return的区别:Continue:这个是跳出当前循环,回到循环起始处,继续下一次循环break :跳出当前的循环体,执行另外的循环体,return:- 用return结束当前方法,没有返回值- 用return返回特定值,用于返回值代码例题如下:continue的用法:根据判断语句,如果符合就往下输入数字,不符合就跳出当前循环,返回循环起始处继续下一

2020-09-13 13:03:37 214

原创 java 自增和自减符号

java中的自增和自减符号,比如i++和++i的区别 i–和--i的区别i++ : 这个是先赋值然后才进行+1++i : 这个是先+1然后再进行赋值例题:public class inc_dec { void test(int a,int d){ int b; int c; b =++a; //先加1后赋值 c = d++; //先赋值后+1 System.out.println("b的值:"+

2020-09-13 09:57:34 348

原创 springboot整合mybatis

springboot是spring衍生出来的系列。相对应spring而言,springboot改善了spring。spring在开发中被称为“配置地狱” 开发中常常因为配置过多,让程序员苦不堪言。这时候springboot就成为了福音、、springboot整合mybatis因为springboot中许多配置都内置了。不需要自己配置了。第一步:准备环境第二步:建包第三步:完善代码第四步:测试第一步:准备环境准备数据库资源CREATE TABLE `u...

2020-09-08 21:31:50 123

原创 springboot的事务处理“@transactional ”

** 一切增删改为了保证数据的安全性,都需要事务的处理,**在springboot中的事务处理,只需要一个注解就行了,那就是@transactional这个注解是用于事务处理,可以用于方法中,也可以用于类中,用于方法中,就相当于这个方法开启了事务处理。用于类中,就相当于这个类下的所有方法都进行事务处理。用于方法中。 //一切增删改都需要事务处理 // @Transactional这个是事务处理注解 @Transactional @Override .

2020-09-07 15:49:01 445

原创 thymeleaf地址栏拼接

thymeleaf的地址栏拼接和jsp的拼接是有区别的jsp的地址栏拼接是这样的 <a href="/User/ToUpdateUser?id=${user.getId()}">更改</a>但是thymeleaf中的地址栏拼接是这样的 <a th:href="@{/User/ToUpdateUser(id=${user.getId()})}">更改</a>...

2020-09-06 21:00:46 706

原创 springboot中转发不能跳转到templates中的*.html

因为springboot中的默认跳转静态资源是static中,是不会默认跳转到templates中,如果想要跳转到templates页面中,有两种方法 @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { if (request.getSession().getAttri.

2020-09-06 20:22:24 1601

原创 springboot中配置“登陆拦截器”

在登陆处理中往往需要配置拦截器,用户只能从登陆页面中访问后台数据,要想实现这个功能只能通过拦截器来实现,首先先创建一个拦截类,这个拦截类实现HandlerInterceptor接口,public class MyInterceptor implements HandlerInterceptor { //springboot拦截器 @Override public boolean preHandle(HttpServletRequest request, HttpServlet

2020-09-06 12:43:05 206

原创 thymeleaf中属性值出现:红色横线

在thymeleaf中,使用过文本信息的时候出现红色横线,但是不影响使用,如果有强迫症的人,就需要去掉这个红色横线第一种方法,也是一个好的方法,比第二个方法好。找到idea 的setting第二种方法:在thymeleaf中添加注释添加一下注释 <!--/*@thymesVar id="user" type="com.lsc.spring03mybatis.Conrtroller.UserController"*/-->type后面加的是前面id的类型在这里还是建议使用

2020-09-06 12:17:44 682

原创 springboot中“bean”名字找不到

这个声明bean的name找不到。是因为下面这个配置出现了问题mybatis: type-aliases-package: com.lsc.spring03mybatis.pojo# mapper-locations: classpath:mybatis/Dao/*.xml config-location: classpath:mybatis/Dao/UserMapper.xml是因为config-location的问题,只需要把config-location换成Mapper-loc.

2020-09-02 23:49:29 638

原创 Error creating bean with name ‘sqlSessionFactory‘路径找不到

mybatis运行时出现以下错误Unsatisfied dependency expressed through bean property ‘sqlSessionFactory’; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘sqlSessionFactory’ defined in class path resource [org

2020-09-02 21:54:41 455

转载 springboot和druid的整合

随着时代的发展,springboot越来越方便了,大部分配置只需要配置场景启动器就行了。下面是springboot和druid整合比较好的文章链接:springboot和druid整合方法一:只需要配置druid的场景启动器就行了。导入相关依赖<!-- druid场景启动器--> <dependency> <groupId>com.alibaba</groupId>

2020-09-01 22:38:54 395

原创 springboot和druid整合的时候出现404错误

springboot整合druid的时候出现了一个坑,这个坑踩了2个多小时。出现这个问题的原因是因为yml中的配置不完全。我的yml文件是这样的 datasource: name: druidDataSource type: com.alibaba.druid.pool.DruidDataSource druid: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localh

2020-09-01 22:30:09 706

原创 Controller层不能把文本信息携带给要跳转的页面

这是将登陆的错误信息返回给登陆界面。但是却发现不能把信息携带过去。controller层 @RequestMapping("/user/Login") public String toLogin(@RequestParam("username")String username, @RequestParam("password")String password, Model model, HttpSession session){

2020-08-25 23:36:57 86

原创 国际化中英文跳转的时候出现“404错误”

这是我在springboot测试国际化出现的问题。实现国际化的步骤分为三步:创建一个MyInternationa类来继承LocaleResolver类,public class MyInternationa implements LocaleResolver { @Override public Locale resolveLocale(HttpServletRequest request) { String lang = request.getParameter(

2020-08-25 20:36:19 926 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除