![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
文章平均质量分 81
大仙~猛
这个作者很懒,什么都没留下…
展开
-
SpringCloud快速入门
SpringCloud一、SpringCloud–AlibabaSpring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。https://github.com/alib原创 2021-07-13 10:25:58 · 278 阅读 · 1 评论 -
微服务概述
微服务概述一、微服务介绍1. 什么是微服务简而言之:拒绝大型单体应用,基于业务边界进行服务微化拆分,各个服务独立部署运行2. 为什么需要微服务?在传统的IT行业软件大多都是各种独立系统的堆砌,这些系统的问题总结来说就是扩展性差,可靠性不高,维护成本高。2.1 最早期的单体架构带来的问题单体架构在规模比较小的情况下工作情况良好,但是随着系统规模的扩大,它暴露出来的问题也越来越多,主要有以下几点:1.复杂性逐渐变高比如有的项目有几十万行代码,各个模块之间区别比较模糊,逻辑比较混乱,代码越多复原创 2021-07-12 14:08:53 · 318 阅读 · 0 评论 -
SpringBoot整合JPA
SpringBoot整合JPA使用数据库是开发基本应用的基础,借助于开发框架,我们已经不用编写原始的访问数据库的代码,也不用调用JDBC(Java Data Base Connectivity)或者连接池等诸如此类的被称作底层的代码,我们将从更高的层次上访问数据库,这在Springboot中更是如此,本章我们将详细介绍在Springboot中使用 Spring Data JPA 来实现对数据库的操作。JPA & Spring Data JPAJPA是Java Persistence API的简原创 2021-06-15 14:26:26 · 1677 阅读 · 7 评论 -
gulimall-三级分类踩坑
项目上午还能正常运行,下午就一直报这个错:前端给后台发请求时:后台报错,数据已经拿到了,但是遍历数据的时候出了问题,父节点的id为空,导致所有数据无法显示java.lang.NullPointerException: null at com.shy.gulimall.product.service.impl.CategoryServiceImpl.lambda$listWithTree$0(CategoryServiceImpl.java:43) ~[classes/:na] at java.uti原创 2021-06-10 08:47:48 · 526 阅读 · 13 评论 -
面试:SpringBoot自动装配原理?
springboot启动时,是依靠启动类的main方法来进行启动的,而main方法中执行的是SpringApplication.run()方法,而SpringApplication.run()方法中会创建spring的容器,并且刷新容器。而在刷新容器的时候就会去解析启动类,然后就会去解析启动类上的@SpringBootApplication注解,而这个注解是个复合注解,这个注解中有一个@EnableAutoConfiguration注解,这个注解就是开启自动配置,这个注解中又有@Import注解引入了一个A原创 2021-06-10 08:45:13 · 190 阅读 · 1 评论 -
SpringMVC架构原理解析
SpringMVC架构:Spring MVC 的精髓就是她核心的执行流程~接下来,通过整合起来的代码,解读一个个配置文件~1.web.xml <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>原创 2021-05-29 13:21:46 · 181 阅读 · 2 评论 -
枚举enum
枚举enum有的时候一个类的对象是有限且固定的,这种情况下我们使用枚举类一、创建枚举类public static final int SEASON_SPRING = 1;public static final int SEASON_SUMMER = 2;public static final int SEASON_FALL = 3;public static final int SEASON_WINTER = 4;枚举类更加直观,类型安全。使用常量会有以下几个缺陷:1. 类型不安全。若一个原创 2021-05-26 23:06:26 · 94 阅读 · 0 评论 -
反射API
反射java反射机制就是在运行状态中,对任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能够调用它的任一个方法和属性,这种动态获取的信息以及动态调用对象的方法的功能叫java语言的反射机制。java反射机制主要提供了一下功能在运行时判断任意一个对象所属的类在运行时构造任意一个类的对象在运行时判断任意一个类所具有的成员变量和方法在运行时调用任意一个对象的方法;生成动态代理编译和运行:编译时刻加载类是静态加载类、运行时刻加载类是动态加载类大家都知道,要让Java程序能够运行原创 2021-05-26 23:05:52 · 237 阅读 · 0 评论 -
maven简介与配置
mavenmaven是一个项目管理工具,不仅可以把源代码构建为可以发布的项目(包括 编译、打包、测试、分发),还可以生成报告、生成web站点。一、下载与安装Maven 官方下载地址:http://maven.apache.org/download.cgi,进入下载页面,找到下载文件二、配置环境变量创建MAVEN_HOME写maven根目录path编辑:%MAVEN_HOME%\bin注意:当项目比较大时,使用Maven生成项目需要占用大量内存,如果超过Java默认的最大可用内存,则会报java原创 2021-05-26 23:02:37 · 119 阅读 · 0 评论 -
seata启动失败
***************************APPLICATION FAILED TO START***************************Description:An attempt was made to call a method that does not exist. The attempt was made from the following location: io.seata.spring.boot.autoconfigure.SeataAut.原创 2021-05-26 17:01:36 · 2231 阅读 · 0 评论 -
SpringCloud7--阿里Nacos和Sentinel
SpringCloud13–Alibaba Nacos一、欢迎来到 Nacos 的世界!Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。Nacos就是注册中心+配置中心的组合,Nacos = Eureka + Config + Bus能干嘛原创 2021-05-26 14:41:27 · 612 阅读 · 1 评论 -
SpringCloud6--SpringCloud Alibaba
SpringCloud12–SpringCloud Alibaba官网:https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.mdhttps://spring-cloud-alibaba-group.github.io/github-pages/hoxton/en-us/index.html#_dependency_management诞生:2018.10.31,Spring Cloud Alibaba 正式入驻了翻译 2021-05-25 15:45:08 · 173 阅读 · 0 评论 -
SpringCloud05-GateWay、Config、Bus、Stream、Sleuth
SpringCloud05GateWay一、是什么二、非阻塞异步模型WebFlux三、工作流程四、Gateway9527搭建1.建model2.pom3.yml4.启动类5.yml新增网关配置6.测试五、Gateway配置路由的两种方式六、配置动态路由七、常用的PredicateRoute Predicate Factories常用的Route Predicate FactoryAfter1.改9527的yml2.写个测试类3.测试CookieHeader八、Filter生命周期:种类(具体看官方文档自定义原创 2021-05-25 15:23:46 · 337 阅读 · 0 评论 -
SpringCloud04-Ribbon、OpenFeign、Hystrix
SpringCloud05-Ribbon负载均衡服务调用启动这五个,测试环境~一、RibbonSpring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出Load Balancer(简称LB)后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询原创 2021-05-25 14:14:11 · 393 阅读 · 1 评论 -
SpringCloud03--服务注册中心和服务注册与发现
SpringCloud03SpringCloud03--服务注册中心一、Eureka1.什么是服务治理2.什么是服务注册与发现3.Eureka包含两个组件:Eureka Server和Eureka Client二、Eureka服务端创建1.开model2.改pom3.写yml(application)4.主启动三、provider8001入驻进EurekaServer70011.修改2.pom3.改yml4.改主启动5.测试四、订单80入驻EurekaServer70011.模块不用动2.pom还是引入客户原创 2021-05-25 13:54:25 · 369 阅读 · 1 评论 -
SpringCloud02--构建万物之初
这里写目录标题SpringCloud02--构建万物之初一、构建父工程父工程pom二、DependencyManagement和Dependencies1.区别:2.跳过单元测试三、创建微服务模块套路四、支付模块构建1.右键父工程-->new一个model2.改pom3.写yml (application.yml)4.主启动类(PaymentMain8001)5.业务类6.测试五、热部署Devtools1.常规操作,导入依赖2.以下内容复制到父工程的pom.xml(已经复制过了瞅一眼就行)3.File原创 2021-05-25 11:41:08 · 115 阅读 · 0 评论 -
SpringCloud01--入个门
SpringCloud01–入个门一、架构演变1.1系统架构演变随若互联网的发展,网站应用的规模也在不断的扩大,逬而导致系统架构也在不断的进行变化.从互联 网早期到现在,系统架构大体经历了下面几个过程:单体应用架构–>垂直应用架构–>分布式架构–>SOA架构–>微服务架构,当然还有悄然兴起的Service Mesh(服务网格化).接下来我们就来了解一下 每种系统架构是什么样子的,以及各有什么优缺点.1.1.1应用架构互联网早期,一般的网站应用流最较小,只需一个应用,将所有功原创 2021-05-25 11:16:10 · 224 阅读 · 2 评论 -
Caused by: java.lang.AbstractMethodError: com.alibaba.cloud.sentinel.feign.SentinelContractHolder...
报错:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'circleBreakerController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bea原创 2021-05-24 20:42:39 · 397 阅读 · 0 评论 -
Linux常用命令
Linux常用命令转自:https://www.cnblogs.com/yjd_hycf_space/p/7730690.html一、系统信息arch 显示机器的处理器架构uname -m 显示机器的处理器架构uname -r 显示正在使用的内核版本dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)hdparm -i /dev/hda 罗列一个磁盘的架构特性hdparm -tT /dev/sda 在磁盘上执行测试性读取操作cat /proc/cpuinfo 显示C转载 2021-05-22 14:02:51 · 230 阅读 · 0 评论 -
redis
redisredis一、是什么二、什么是NOSQL三、Redis基础知识四、Redis-key五、String六、list七、set八、hash九、Zset十、三种特殊数据类型geospatial地理位置HyperloglogBitmaps十一、事务十二、redis实现乐观锁十三、Jedis常用的API事务再理解十四、springboot集成redis编写一个自己的Template十五、Redis.conf单位包含网络通用快照REPLICATION后面说SECURITY安全CLIENTS限制APPEND O原创 2021-05-22 13:59:55 · 209 阅读 · 0 评论 -
SpringBoot03--整合
一、整合JDBC1.SpringData简介对于数据访问层,无论是 SQL(关系型数据库) 还是 NOSQL(非关系型数据库),Spring Boot 底层都是采用 Spring Data 的方式进行统一处理。Spring Boot 底层都是采用 Spring Data 的方式进行统一处理各种数据库,Spring Data 也是 Spring 中与 Spring Boot、Spring Cloud 等齐名的知名项目。Sping Data 官网:https://spring.io/projects/s原创 2021-05-22 13:02:19 · 699 阅读 · 1 评论 -
SpringBoot02--配置文件和自定义starter
一、配置文件SpringBoot使用一个全局的配置文件 , 配置文件名称是固定的application.properties语法结构 :key=valueapplication.yml语法结构 :key:空格 value**配置文件的作用 :**修改SpringBoot自动配置的默认值,因为SpringBoot在底层都给我们自动配置好了yaml:这种语言以数据作为中心,而不是以标记语言为重点!基础语法:1、空格不能省略2、以缩进来控制层级关系,只要是左边对齐的原创 2021-05-21 11:45:25 · 419 阅读 · 1 评论 -
SpringBoot01--运行原理和自动装配原理
三步:“是什么?”、“怎么做?”、“为什么?”一、是什么1.Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。2.使用 Spring Boot 可以很容易地创建出能直接运行的独立的、生产级别的基于 Spring 的应用。我们对 Spring 平台和第三方类库有自己的考虑,因此您可以从最基本的开始。大多数 Spring Boot 应用只需要很少的 Spring 配置。3.您可以使用 Spring Boot 来创建一个可以使用 ja原创 2021-05-21 11:24:01 · 604 阅读 · 1 评论 -
Spring MVC和SSM整合
一、是什么MVC框架要做哪些事情将url映射到Java类中或java类的方法封装用户提交的数据处理请求–调用相关的业务处理–封装响应数据将响应数据进行渲染,jsp/html等表示层数据MVVMM V VM(ViewModel:双向绑定)Spring MVC底层还是servletSpring:我们可以将SpringMVC所有要用到的bean,注册到spring中!1.轻量级,简单易学2.高效,基于请求响应的mvc框架3.与spring无缝结合4.约定优于配置5.功能强大:RE原创 2021-05-21 10:24:40 · 426 阅读 · 0 评论 -
Spring07--整合Mybatis和声明式事务
一、整合Mybatismybatis-spring新包环境搭建 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope原创 2021-05-21 08:29:36 · 229 阅读 · 0 评论 -
Spring06--代理模式和AOP
一、代理模式SpringAOP的底层代理模式分类:静态代理动态代理代理模式的好处:可以使真实角色的操作更加纯粹,不用去关注一些公共的业务公共业务就交给代理角色,实现了业务的分工公共业务发生扩展的时候,方便集中管理缺点:一个真实角色,就会产生一个代理角色,代码量会翻倍,开发效率变低1.静态代理抽象角色:接口或者抽象类//租房public interface Rent { void rent();}真实角色:被代理的角色//房东public class原创 2021-05-21 08:25:47 · 121 阅读 · 1 评论 -
Spring05--注解
一、代理模式SpringAOP的底层代理模式分类:静态代理动态代理代理模式的好处:可以使真实角色的操作更加纯粹,不用去关注一些公共的业务公共业务就交给代理角色,实现了业务的分工公共业务发生扩展的时候,方便集中管理缺点:一个真实角色,就会产生一个代理角色,代码量会翻倍,开发效率变低1.静态代理抽象角色:接口或者抽象类//租房public interface Rent { void rent();}真实角色:被代理的角色//房东public class原创 2021-05-21 08:22:35 · 135 阅读 · 0 评论 -
Spring04--依赖注入,bean 的作用域和自动装配
一、依赖注入1.构造器注入,上一章有~2.set方式注入依赖注入:set注入依赖:bean对象的创建依赖于容器,Bean对象的依赖资源注入:bean对象中的所有属性,由容器来设置和装配Set注入:要求被注入的属性 , 必须有set方法 , set方法的方法名由set + 属性首字母大写 , 如果属性是boolean类型 , 没有set方法 , 是 is .环境搭建:地址类:public class Address { private String address; publ原创 2021-05-20 18:51:50 · 145 阅读 · 1 评论 -
Spring03--IOC创建对象的方式和Spring配置
一、IOC创建对象的方式1.使用无参构造创建对象,默认实现例子:pojo --> User1package com.shy.pojo;public class User1 { private String name; public User1(){ System.out.println("user1被创建了"); } public String getName() { return name; } public原创 2021-05-20 18:44:28 · 112 阅读 · 0 评论 -
Spring02--HelloSpring
HelloSpringpojopackage com.shy.pojo;public class Hello { private String str; public String getStr() { return str; } public void setStr(String str) { this.str = str; } @Override public String toString() {原创 2021-05-20 18:40:30 · 67 阅读 · 0 评论 -
Spring01--IOC
Spring框架比较简单,就是IOC和AOP两个概念重要,要深入研究的话,可以通读源码,你一定会有所收获~源码地址:地址一、简介1.1春天,给软件行业带来了春天1.2理念:使现有技术更加容易使用,本身是一个大杂烩,整合了现有的技术框架1.3融合器1.4官网:https://docs.spring.io/spring-framework/docs/current/reference/html/依赖:<!-- https://mvnrepository.com/artifact/org.s原创 2021-05-19 17:57:07 · 211 阅读 · 1 评论 -
Mybatis09--缓存
这里我直接跳了原文:原文一、mybatis缓存mybatis包含一个很强大的查询缓存特性,它可以非常方便的定制和配置缓存,缓存可以极大的提升查询效率mybatis系统默认定义了两级缓存:一级缓存,二级缓存默认情况下,只有一级缓存开启。(SqlSession级别的缓存,本地缓存)二级缓存需要手动开启和配置,他是基于namespace级别的缓存为了提高可扩展性,mybatis定义的缓存接口Cache。我们可以通过实现Cache接口来自定义二级缓存二、一级缓存也叫本地缓存一级缓存默认开启,原创 2021-05-19 14:56:26 · 69 阅读 · 0 评论 -
Mybatis08--动态sql
一、动态SQL动态SQL:就是根据不同的条件生成不同的SQL语句如果你之前用过 JSTL 或任何基于类 XML 语言的文本处理器,你对动态 SQL 元素可能会感觉似曾相识。在 MyBatis 之前的版本中,需要花时间了解大量的元素。借助功能强大的基于 OGNL 的表达式,MyBatis 3 替换了之前的大部分元素,大大精简了元素种类,现在要学习的元素种类比原来的一半还要少。- if- choose (when, otherwise)- trim (where, set)- foreach搭建原创 2021-05-19 14:53:15 · 62 阅读 · 1 评论 -
Mybatis07--多对一和一对多
一、多对一处理多对一:多个学生对应一个老师对于学生而言,关联一个老师 【多对一】对于老师而言,集合,一个老师,和很多学生【一对多】SQL:数据自己插一些CREATE table `teacher` ( `id` int(10) NOT NULL, `name` VARCHAR(30) DEFAULT NULL, PRIMARY KEY (`id`))ENGINE=INNODB DEFAULT CHARSET=utf8CREATE TABLE `student`( `id` int(原创 2021-05-19 14:46:55 · 99 阅读 · 0 评论 -
Mybatis06--日志和分页
一、日志1.1日志工厂如果一个数据库操作出现了异常,我们需要排错,所以日志就是最好的助手曾经:sout,debugSLF4JLOG4J 掌握LOG4J2JDK_LOGGINGCOMMONS_LOGGINGSTDOUT_LOGGING 掌握NO_LOGGING在Mybatis中具体使用哪一个日志实现,在设置中设定STDOUT_LOGGING标准日志输出在Mybatis核心配置文件中配置日志可以拿上面写过的例子来测试,直接把以下内容写入mybatis-config.xml即可原创 2021-05-19 14:35:25 · 110 阅读 · 1 评论 -
Mybatis05--生命周期和作用域
一、生命周期和作用域生命周期和作用域是至关重要的,因为错误的使用会导致非常严重的并发问题。SqlSessionFactoryBuilder一旦创建了 SqlSessionFactory,就不再需要它了局部变量SqlSessionFactory可以想象为数据库连接池一旦被创建就应该在应用的运行期间一直存在,没有任何理由丢弃它或重新创建另一个实例。因此 SqlSessionFactory 的最佳作用域是应用作用域。最简单的就是使用单例模式或者静态单例模式。SqlSession连接原创 2021-05-19 14:21:37 · 97 阅读 · 0 评论 -
Mybatis04--CRUD
一、CRUD上一章写的小例子,有一些注意点~1.namespace其中的包名要和Dao/mapper接口的包名一致2.select查询语句SQL语句返回值类型。【完整的类名或者别名】传入SQL语句的参数类型 。【万能的Map,可以多尝试使用】命名空间中唯一的标识符接口中的方法名与映射文件中的SQL语句ID 一一对应id:就是对应的namespace中对应的方法名resultType:Sql语句执行的返回值parameterType:参数类型下面我们写一点基本的增删改查~二、环境搭原创 2021-05-19 14:15:59 · 120 阅读 · 1 评论 -
Mybatis03--第一个Mybatis程序
思路:搭建环境–>导入Mybatis–>编写代码–>测试1.搭建环境: 搭建数据库:CREATE TABLE `user1` ( `id` int(20) NOT NULL, `username` varchar(30) DEFAULT NULL, `password` varchar(30) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;insert into `user`原创 2021-05-19 11:07:38 · 105 阅读 · 1 评论 -
Mybatis02--是什么
mybatis简介一、什么是mybatis1.优秀的持久层框架2.支持定制化SQL,存储过程以及高级映射3.避免了所有的JDBC代码和手动设置参数以及获取结果集。4.Mybatis可以使用简单的XML或注解来配置和映射原生类型,接口和java的POJO(实体类)为数据库中的记录。二、如何获取MyBatis1.maven仓库<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --><dependency&g原创 2021-05-19 11:03:51 · 98 阅读 · 0 评论 -
Mybatis01--前言
学习路线:Mybatis–>Spring–>Spring MVC–>Spring Boot这条线是跟着B站狂神学的,这几篇文章也就是学习笔记,有一些细小的改动狂神博客这篇是学习框架之前的一些概念补强~首先我们要知道反射是一种机制,映射是一种关系。一.反射反射是在运行状态中任何一个类,我们都能知道这个类的属性和方法,对于任何一个对象都能调用这个对象的任意属性和方法,这种动态的获取信息或者动态调用对象的方法称为Java的反射机制。那么反射能做什么1.运行时调用任意一个对象的方原创 2021-05-19 10:59:36 · 102 阅读 · 0 评论