
spring
spring全家桶的文章
迷雾总会解
我来,我见,我征服!
展开
-
乐优商城项目实战
项目背景了解电商行业了解乐优商城项目结构能独立搭建项目基本框架能参考使用ES6的新语法项目分类主要从需求方、盈利模式、技术侧重点这三个方面来看它们的不同传统项目各种企业里面用的管理系统(ERP、HR、OA、CRM、物流管理系统…)需求方:公司、企业内部盈利模式:项目本身卖钱技术侧重点:业务功能互联网项目门户网站、电商网站:baidu.com、qq.com、taobao.com、jd.com …需求方:广大用户群体盈利模式:虚拟币、增值服务、广告收益…技术侧重点:网站原创 2020-10-19 16:15:31 · 3064 阅读 · 2 评论 -
springboot整合dubbo
安装Zookeeper安装jdk下载jdk-8u171-linux-x64.rpm安装 rpm -ivh jdk-8u171-linux-x64.rpm,会自动安装到usr目录中的java中通过pwd命令,查看jdk安装路径:/usr/java/jdk1.8.0_171-amd64配置环境变量: vi /etc/profile,在文件最后追加:export JAVA_HOME=/usr/java/jdk1.8.0_171-amd64export CLASSPATH=$JAVA_原创 2020-07-26 14:35:57 · 182 阅读 · 0 评论 -
在线考试系统(微服务,前后端分离)
项目基本功能 本在线考试系统主要完成了用户注册,根据用户名和密码实现注册用户登录,分为账号密码登录,短信登录,邮箱登录用户信息填写,用户基本信息填写(头像,名称,年龄,地区,学号,手机号,邮箱号)。用户信息搜索,根据输入的关键字进行信息检索,查看用户的数据。可以通过聚合条件检索。管理员可以查看完整数据和统计信息。用户管理,管理员可以查看用户的相关数据,并进行管理员的分配。考生管理,管理员考生考试的管理,可以查看考生考试的信息,考生试卷,重置试卷,再次考试,无条件删除考生订阅信息。学科管理,原创 2020-07-19 13:28:46 · 5593 阅读 · 4 评论 -
logback-spring.xml的创建和模板(带颜色的日志输出)
创建xml文件配置 在配置文件中配置(好像这一步不写也可,保险点写上吧)logging: config: classpath:logback-spring.xml展示代码<?xml version="1.0" encoding="UTF-8"?><!--scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒当scan为.原创 2020-07-07 11:03:32 · 3043 阅读 · 0 评论 -
SpringDataJPA -09-对象导航查询
目录 ORM Hibernate,JPA和SpringDataJpa JPA入门案列 JPA的API介绍 getOne和findOne的比较 JPQL的基本使用 specification的基本使用 example的基本使用 多表设计 表之间的划分 分析步骤 多表设计(一对多) 多表设计(一对多) 对象导航查询 ★对象导航查询 对象图导航检索方式是根据已经加载的对象,导航到他的关联对象。它利用类与类之间的关系来检索对象。例如:我们通过ID查询方式查出一个客原创 2020-07-04 21:41:21 · 467 阅读 · 0 评论 -
SpringDataJPA -08-多表设计(一对多,多对多)
目录 ORM Hibernate,JPA和SpringDataJpa JPA入门案列 JPA的API介绍 getOne和findOne的比较 JPQL的基本使用 specification的基本使用 example的基本使用 多表设计 表之间的划分 ★ 分析步骤 ★ 多表设计(一对多) ★ 多表设计(一对多) ★表之间的划分 数据库中多表之间存在着三种关系,如图所示 从图可以看出,系统设计的三种实体关系分别为:多对多、一对多和一对一关系。注意:一对多关系可以看原创 2020-07-04 21:41:08 · 753 阅读 · 0 评论 -
SpringDataJPA -07- example的基本使用
目录 ORM Hibernate,JPA和SpringDataJpa JPA入门案列 JPA的API介绍 getOne和findOne的比较 JPQL的基本使用 specification的基本使用 example的基本使用(★)简单查询@Testpublic void testExample(){ Customer customer=new Customer(); customer.setCustName("飞飞飞"); Example<Cust原创 2020-07-04 21:40:59 · 2102 阅读 · 0 评论 -
SpringDataJPA -06- specification的基本使用
目录 ORM Hibernate,JPA和SpringDataJpa JPA入门案列 JPA的API介绍 getOne和findOne的比较 JPQL的基本使用 specification的基本使用(★)specification的使用 Specification是一个函数式接口,需要实现toPredicate(Root root, CriteriaQuery<?> query, CriteriaBuilder criteriaBuilder)方法root:查询的原创 2020-07-04 21:40:49 · 1645 阅读 · 0 评论 -
SpringDataJPA -05- JPQL的基本使用
目录 ORM Hibernate,JPA和SpringDataJpa JPA入门案列 JPA的API介绍 getOne和findOne的比较 JPQL的基本使用(★)基本概述 jpql的查询方式 jpql : jpa query language (jpq查询语言) 特点: 1. 语法或关键字和sql语句类似 2. 查询的是类和类中的属性 3. 需要将JPQL语句配置到接口方法上 1).特有的查询:需要在dao接口上配原创 2020-07-04 21:40:40 · 575 阅读 · 0 评论 -
SpringDataJPA -04- getOne和findOne的比较
目录 ORM Hibernate,JPA和SpringDataJpa JPA入门案列 JPA的API介绍 getOne和findOne的比较(★)getOnegetOne是延迟加载。(返回的是一个动态代理对象,什么时候用,什么时候查询)getOne是JpaRepository中的方法getOne返回的是一个引用,即代理对象当getOne查询不到结果时会抛出异常@Test@Transactional(rollbackFor = Exception.class原创 2020-07-04 21:40:31 · 1210 阅读 · 0 评论 -
SpringDataJPA -03- JPA的API介绍
目录 ORM Hibernate,JPA和SpringDataJpa JPA入门案列 JPA的API介绍(当前页)JPA的API介绍/*** 创建实体管理类工厂,借助Persistence的静态方法获取* 其中传递的参数为持久化单元名称,需要jpa配置文件中指定*/EntityManagerFactory factory = Persistence.createEntityManagerFactory("myJpa");//创建实体管理类EntityManager em =原创 2020-07-04 21:40:22 · 3139 阅读 · 0 评论 -
SpringDataJPA -02- JPA入门案例
目录 ORM Hibernate,JPA和SpringDataJpa JPA入门案列(当前页)JPA入门案列需求介绍 我们实现的功能是保存一个客户到数据库的客户表中。创建数据库 /*创建客户表*/ CREATE TABLE cst_customer ( cust_id bigint(32) NOT NULL AUTO_INCREMENT COMMENT '客户编号(主键)', cust_name varchar(32) NOT NULL COMM原创 2020-07-04 21:40:11 · 285 阅读 · 0 评论 -
SpringDataJPA -01- ORM,Hibernate,JPA,SpringDataJpa的简单介绍
目录 ORM hibernate与JPA和SpringDataJpa ORM概述 ORM(Object-Relational Mapping) 表示对象关系映射。在面向对象的软件开发中,通过ORM,就可以把对象映射到关系型数据库中。只要有一套程序能够做到建立对象与数据库的关联,操作对象就可以直接操作数据库数据,就可以说这套程序实现了ORM对象关系映射 简单的说:ORM就是建立实体类和数据库表之间的关系,从而达到操作实体类就相当于操作数据库表的目的。为什么使用 当实现一个应用程序时(原创 2020-07-04 21:39:58 · 655 阅读 · 0 评论 -
SpringDataJpa在一对多、多对多关系的级联操作时出现StackOverflowError(是真滴坑)
错误说明可以看到是两个类的toString反复调用导致的堆栈溢出。在两类中分别重写了 toString 方法,导致查询加载时两类在互相调用对方的toString,形成递归,造成堆栈溢出。解决问题在 toString 方法中任意一方去除打印的对方信息。如果用的是lombok,则不要用@Data或者@ToString注解。将@Data注解替换成@Getter和@Setter,然后手动重写toString()方法。 ...原创 2020-07-04 16:48:40 · 1277 阅读 · 3 评论 -
JPA中的jpql-@Query的查询使用(参数传递的坑,包含对象的参数)
单参数查询// @Query(value="select * from cst_customer where cust_name=?1",nativeQuery = true)// @Query(value="from Customer where cust_name= ?1")// @Query(value="select c from Customer c where c.custName=?1")// @Query(value="from Customer c wh原创 2020-06-29 00:27:30 · 12143 阅读 · 0 评论 -
sprignboot整合OAuth2
概念说明先说OAuth,OAuth是Open Authorization的简写。OAuth协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAuth的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此OAuth是安全的。OAuth2.0是OAuth协议的延续版本,但不向前兼容(即完全废止了OAuth1.0)。使用场景假设,A网站是一个打印照片的网站,B网站是一个存储照片的网站,二者原原创 2020-06-09 22:31:42 · 345 阅读 · 0 评论 -
Handling error: IllegalStateException, UserDetailsService is required.
我通过接口刷新token时,报了服务器内部异常到服务器内部一看,服务器内部报了个警告看了这个异常,我寻思着,我不是在security中加入了相关配置了吗?不信你看怎么样,没骗你吧。然后仔细看了一下异常,看到了一个关键词 TokenEndpoint,有点意思。到oauth的配置中一瞧,看我发现了什么? 这里原来还要再加一个userDetailsService配置才行!!!坑呀!我寻思着我跟着老师敲的没问题呀,应该是版本的原因吧,maybe !?继续测试刷新token成功 !原创 2020-06-09 21:25:24 · 1824 阅读 · 1 评论 -
jwt和rsa的相关工具类
JwtUtilspackage top.codekiller.springsecurity.utils;import io.jsonwebtoken.Claims;import io.jsonwebtoken.Jws;import io.jsonwebtoken.Jwts;import io.jsonwebtoken.SignatureAlgorithm;import org.joda.time.DateTime;import java.security.PrivateKey;impo原创 2020-06-09 00:40:30 · 380 阅读 · 0 评论 -
springboot中使用springsecurity进行分布式搭建
JWT基本概念JWT生成的token由三部分组成:头部:主要设置一些规范信息,签名部分的编码格式就在头部中声明。载荷:token中存放有效信息的部分,比如用户名,用户角色,过期时间等,但是不要放密码,会泄露!签名:将头部与载荷分别采用base64编码后,用“.”相连,再加入盐,最后使用头部声明的编码类型进行编码,就得到了签名。Rsa基本概念基本原理:同时生成两把密钥:私钥和公钥,私钥隐秘保存,公钥可以下发给信任客户端私钥加密,持有私钥或公钥才可以解密公钥加密,持有私钥原创 2020-06-09 00:35:01 · 783 阅读 · 0 评论 -
将字符串中的中文转为拼音(java)
maven依赖<dependency> <groupId>com.belerweb</groupId> <artifactId>pinyin4j</artifactId></dependency>拼音的工具类package top.codekiller.manager.common.utils;import lombok.extern.slf4j.Slf4j;import net.sourceforge.原创 2020-06-05 18:51:00 · 1229 阅读 · 0 评论 -
SpringBoot学习记录
一.Spring Boot 入门1.SpringBoot简介简化Spring应用开发的一个框架整个Spring技术栈的一个大整合J2EE开发的一站式解决方案优点快速创建独立运行的Spring项目以及与主流框架集成使用嵌入式的Servlet容器,应用无需打成WAR包starters自动依赖与版本控制大量的自动配置,简化开发,也可修改默认值无需配置XML,无代码生成,开箱即用准生产环境的运行时应用监控与云计算的天然集成2.微服务2014,martin fowler微原创 2020-06-05 18:30:24 · 1329 阅读 · 0 评论 -
MongoDB(含SpringBoot整合)
简介MongoDB是一个开源、高性能、无模式的文档型数据库,当初的设计就是用于简化开发和方便扩展,是NoSQL数据库产品中的一种。是最像关系型数据库(MySQL)的非关系型数据库。它支持的数据结构非常松散,是一种类似于 JSON 的 格式叫BSON,所以它既可以存储比较复杂的数据类型,又相当的灵活。MongoDB中的记录是一个文档,它是一个由字段和值对(fifield:value)组成的数据结构。MongoDB文档类似于JSON对象,即一个文档认 为就是一个对象。字段的数据类型是字符型,它的值除了使用原创 2020-06-05 18:03:50 · 643 阅读 · 0 评论 -
Feign调用服务时丢失Cookie和Header信息的问题
今天在使用Feign调用其他微服务的接口时,发现了一个问题:因为我的项目采用了无状态登录,token信息是存放在cookie中的,所以调用接口时,因为cookie中没有token信息,我的请求被拦截器拦截了。 找了几篇文章,靠谱的解决方法是:将cookie信息放到请求头中,再进行调用接口时,拦截器中可以对请求头进行解析,获取cookie信息服务调用方package top.codekiller.manager.upload.config;import feign.RequestIntercep原创 2020-05-26 16:21:13 · 2487 阅读 · 0 评论 -
zuul中关于ribbon和hystrix的一些配置问题
Zuul的负载均衡ribbon和熔断hystrix在zuul的配置文件中配置server: port: 10010spring: application: name: zuuleureka: client: service-url: defaultZone: http://127.0.0.1:10086/eurekazuul: routes: user-service: path: /user/** serviceId: user-s原创 2020-05-23 12:55:18 · 352 阅读 · 0 评论 -
解决Cookie的写入问题(Zuul,Nginx)实在太坑了!!!
解决Cookie写入问题cookie里面什么信息都没有为什么没有呢?解决办法汇总(具体看下方)跨域问题。允许跨域的域名不能是*,而应该是具体的。并且要允许cookie前台代码没有允许使用cookienginx转发时头信息没有加上域名信息,导致转发后域名变为了本地的域名Zuul转发时没有在头信息添加域名信息Zuul敏感头过滤zuul: prefix...原创 2020-05-02 20:22:35 · 1621 阅读 · 1 评论 -
No qualifying bean of type 'com.netflix.discovery.DiscoveryClient' available
ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error cre...原创 2020-04-10 17:53:09 · 1407 阅读 · 0 评论 -
SpringBoot整合MongoDB(工具类)
依赖<!-- mongodb --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId></dependency>配置spring: data: mongodb: host: 127.0.0.1原创 2020-05-30 18:02:42 · 4020 阅读 · 0 评论 -
Springboot自定义状态码和异常
最近在写一个小项目,突然想到可以自定义一个异常来处理用户未找到的情况,并且返回相应的状态码和信息。所以我翻了一下我以前学习SpringBoot时的笔记,稍微写了一下。首先写一个自定义状态码枚举package top.codekiller.manager.common.exception;import lombok.AllArgsConstructor;import lombok.NoArgsConstructor;import org.springframework.stereotype.原创 2020-05-30 13:35:57 · 3085 阅读 · 0 评论 -
Quartz的使用(定时任务,包含SpringBoot的整合)
什么是QuartzQuartz是一个由java编写的开源作业调度框架,简单来说,Quartz就是启动定时任务的框架,像linux系统中的corntab,可以定时启动任务.Quartz的单独使用Quartz的使用必须掌握下面三个对象Scheduler 定时器对象JobDetail 任务对象Trigger 触发器对象SimpleTrigger 简单触发器CornTrigger任务调度触发器使用案列导入Maven依赖<!-- https://mvnrepository.原创 2020-06-05 17:47:47 · 886 阅读 · 0 评论