java学习日记
java知识
喵言喵语~
这个作者很懒,什么都没留下…
展开
-
Gateway(拦截器/路由)入门
Gateway(拦截器/路由)Gateway 核心是一系列的过滤器 主要作用 过滤和路由整个微服务最前沿的防火墙和代理器,隐藏微服务结点IP端口信息Geteway本身就是一个微服务,需要注册到Eureka中心不管是来自于客户端(PC或移动端)的请求,还是服务内部调用,一切服务的请求都可以经过网关实现鉴权 动态路由 服务的统一入口1.使用Gateway拦截请求中带 /users/ 的请求拦截http://localhost:10086/users/2 — 跳转到------->ht原创 2020-12-02 09:30:54 · 9367 阅读 · 1 评论 -
Feign入门
Feign不要使用RestTamplate,将Rest请求进行隐藏Feign 美[feɪn] 假装,装作,佯装优化远程调用的方法把Rest请求进行隐藏,伪装成类似Controller一样,就不要拼接urlFeign让编写Http请求更容易,简化拼接url,拼接参数等等操作1.使用步骤1.在consumer中添加依赖<dependency> <groupId>org.springframework.cloud</groupId>原创 2020-12-02 09:17:35 · 119 阅读 · 0 评论 -
熔断器Hystrix
熔断器Hystrix(1)熔断器是什么?熔断器(fuse)是指当电流超过规定值时,以本身产生的热量使熔体熔断,断开电路的一种电器,如(空气开关)(2)什么是Hystrix美[hɪst’rɪks]Hystrix是一个延迟和容错库(3)Hystrix有什么作用?使用服务降级,线程隔离解决雪崩问题雪崩问题(1) 微服务I 发生异常,请求阻塞,用户请求就不会得到响应,则tomcat的这个线程不会释放,于是越来越多的用户请求到来,越来越多的线程会阻塞,会导致服务器资源耗尽,从而导致所有其它服务都不原创 2020-12-02 09:09:54 · 275 阅读 · 0 评论 -
Eureka配置高可用
Eureka配置高可用(1)高可用是什么?“高可用性”(High Availability)通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性如:给Eureka Server 搞一个备份(2)服务同步原理多个Eureka Server之间也会互相注册为服务,当服务提供者注册到Eureka Server集群中的某个节点时,该节点会把服务的信息同步给集群中的每个节点,从而实现数据同步。因此,无论客户端访问到Eureka Server集群中的任意一个节点,都可以获取到完整的服原创 2020-11-27 17:24:16 · 921 阅读 · 0 评论 -
Spring Cloud入门-Eureka注册中心说明
Spring Cloud入门介绍-Eureka注册中心说明Spring Cloud介绍(1)Spring cloud 是什么?微服务是一种架构方式,最终肯定需要技术架构去实施。微服务的实现方式很多,但是最火的莫过于Spring Cloud了Spring Cloud是一种最火的微服务实现方式Spring Cloud是Spring旗下的项目之一官网地址:http://projects.spring.io/spring-cloud/(2)Spring cloud为什么火?》后台硬 spring全原创 2020-11-25 11:48:06 · 198 阅读 · 0 评论 -
Springboot之SpringBoot整合thymeleaf
SpringBoot整合thymeleafThymeleaf介绍(1)什么是模板技术?由模板引擎将数据与模板页面合在一起,形成页面(2)什么是thymeleaf?SpringBoot并不推荐使用jsp,但是支持一些模板引擎技术,如:Freemarker,Thymeleaf,Mustache(3)为什么选择Thymeleaf可以完全替代jsp(4)有什么特点》动静结合,直接访问或者通过服务器访问浏览器解释 html 时会忽略未定义的标签属性,所以 thymeleaf 的模板可以静态地运行原创 2020-11-25 11:35:42 · 300 阅读 · 0 评论 -
Springboot之Springboot整合jsp
Springboot整合jsp(1)springboot jsp页面》添加依赖servlet ,jstl ,JSP引擎》新建webapp目录(没有该目录不能创建jsp)》application.properties或者application.yml配置mvcspringboot不建议大家使用jsp,而推荐使用 thymeleaf大家只能手动添加依赖,并且手动创建webapp目录pom.xml <!-- 添加 servlet 依赖. --> <depende原创 2020-11-25 11:25:59 · 229 阅读 · 0 评论 -
SpringBoot之SpringBoot整合Redis
SpringBoot整合RedisSpring Boot 集成Redis(1)添加redis的起步依赖(2) 配置redis的连接信息spring.redis.host=localhostspring.redis.port=6379(3)注入RedisTemplate测试redis操作@SpringBootTestclass Demo06redisApplicationTests { @Autowired RedisTemplate<String, String原创 2020-11-25 11:12:58 · 106 阅读 · 0 评论 -
SpringBoot--SpringBoot整合Jpa
SpringBoot整合Jpa(1)添加Spring Data JPA的起步依赖(2)添加数据库驱动依赖(3) 在application.properties中配置数据库和jpa的相关属性!!!空格不能随便删除spring: datasource: # hikari driver-class-name: com.mysql.cj.jdbc.Driver # mysql 8 username: root password: 123456 url: jdbc:mys原创 2020-11-25 10:45:55 · 103 阅读 · 0 评论 -
SpringBoot之SpringBoot整合Mybatis
SpringBoot整合Mybatis案例:(0)准备数据库创建user表create database springboot_test;create table person( id int primary key auto_increment, name varchar(20), age int)Person类public class Person { private int id; private String name; private int a原创 2020-11-25 10:40:27 · 85 阅读 · 0 评论 -
Hikari 连接池获取连接
Hikari 连接池获取连接(1)Hikari 光(2)Hikari 是什么?HikariCP是现在比较快,而且轻量的连接池(3)Hikari 有什么特点》Hikari是一款非常强大,高效,并且号称“史上最快连接池”》在springboot2.0之后,采用的默认数据库连接池就是Hikari。不需要引入依赖,已经在SpringBoot中包含了。GitHub地址:https://github.com/brettwooldridge/HikariCP手动使用hikaripom.xml原创 2020-11-25 10:35:03 · 1600 阅读 · 0 评论 -
SpringBoot yml修改tomcat端口
SpringBoot yml修改tomcat端口学习目标(1)可以修改tomcat的端口和访问项目中的静态资源(2)如何修改tomcat端口查询**Propertiesserver.port=8090server.servlet.context-path=/web01设置配置项(前缀+类变量名)到application配置文件中整合SpringMVC:静态资源http://localhost:8090/web01/js/jquery-2.2.3.min.js(1)static目录原创 2020-11-25 10:30:26 · 1968 阅读 · 0 评论 -
SpringBoot--Spring Boot集成Junit
Spring Boot集成Junit5学习目标:使用springboot创建就完成集成测试(1)在Spring Boot项目中使用Junit进行单元测试PersonService的方法(2)添加Junit的起步依赖以前使用junit4现在,springboot 2.4 自动使用junit5(3)编写测试类@SpringBootTestpublic class TextXxx在Spring Boot项目中如果编写测试类则必须要在类上面添加@SpringBootTest2.4.0版本使原创 2020-11-25 10:08:11 · 217 阅读 · 0 评论 -
Day33saas-export-部门管理-打开编辑页面回显
Day33saas-export-部门管理-打开编辑页面回显打开了编辑页面dept-update.jsp${path}/system/dept/toUpdate.do?deptId=${dept.deptId}DeptController // ${path}/system/dept/toUpdate.do?deptId=${dept.deptId} @RequestMapping(path="/toUpdate",method ={ RequestMethod.GET, Reque原创 2020-11-04 19:18:40 · 123 阅读 · 0 评论 -
Day34saas-export-RBAC权限模型
Day34saas-export-RBAC权限模型RBAC权限模型引入(1)如何设计用户权限普通的用户权限设计三个表搞定(用户表,权限表,用户权限表)(2)有什么特点?》1 租户增加,选成会大量的冗余数据!》2 添加或者删除权限不方便建议使用RBAC权限模型RBAC权限模型介绍(1)什么是RBAC权限模型?RBAC 是基于角色的访问控制(Role-Based Access Control )(2)RBAC权限模型有什么特点?》》1 先给角色设置权限》》2 再给用户分配角色》原创 2020-11-04 10:59:42 · 98 阅读 · 0 评论 -
Day34项目saas-export项目-部门管理-删除功能
Day34项目saas-export项目-部门管理-删除功能部门删除分析(1)尝试删除指定id的部门数据(2)如果当前部门没有给其他部门作上级,则可以删除成功,否则删除失败》1 判断是否有没有给其他部门作上级》2 再删除# 删除时 没有给其他部作上级部门的delete from pe_dept where dept_id='33'# 删除时 当前部门给其他部门作上级部门的delete from pe_dept where dept_id='100101'# 判断 记录数==0 是可删除的原创 2020-11-02 09:11:49 · 135 阅读 · 0 评论 -
Day34项目saas-export项目-部门管理-更新功能
Day34项目saas-export项目-部门管理-更新功能(1)修改部门部门修改后台TestService @Test public void test05(){ String deptId="4028827c4fb633bd014fb64467470000"; Dept dept = iDeptService.findById(deptId); //1 模拟页面的修改 dept.setDeptName("ym");原创 2020-11-02 09:07:30 · 118 阅读 · 0 评论 -
【SSM - 数据库篇 】 使用PowerDesigner对数据库建模 常用UML图--用例图,类图介绍
【SSM - 数据库篇 】 使用PowerDesigner对数据库建模 常用UML图–用例图,类图介绍PowerDesignerPowerDesigner它可以方便地对管理信息系统进行分析设计,他几乎包括了数据库模型设计的全过程使用PowerDesigner对数据库建模》创建Physical Data》创建表,输入表的字段,用连线创建表之间的关系》把表导出,转为数据库的表创建Physical Data创建表,输入表的字段用连线创建表之间的关系,给tab_enp添加外键把表导出,转为原创 2020-10-29 20:03:36 · 2149 阅读 · 0 评论 -
【SaaS-Export项目】前端AdminLTE介绍与入门使用 搭建一个AdminLTE入门页面
【SaaS-Export项目】前端AdminLTE介绍与入门使用 搭建一个AdminLTE入门页面前端AdminLTE介绍1)AdminLTE是一款建立在bootstrap和jquery之上的开源的模板主题工具.并且提供一系列响应的、可重复使用的组件, 并内置了多个模板页面2)优点自适应多种屏幕分辨率,兼容PC和移动端快速的创建一个响应式的Html5网站AdminLTE 不但美观, 而且可以免去写很大CSS与JS的工作量3)官网:下载链接GitHub下载:GitHub使用基础使用只需原创 2020-10-29 19:57:08 · 315 阅读 · 0 评论 -
【SaaS-Export项目】项目搭建 Maven父子项目 父工程被子项目继承 子项目与子项目之间的依赖
【SaaS-Export项目】项目搭建 Maven父子项目 父工程被子项目继承 子项目与子项目之间的依赖项目搭建一.导入数据库导入已经存在的数据库二.创建父项目 parent创建export_parent项目创建project,但是不要勾选使用模板(create from archetype),因为不要使用web,所以不用勾选,否则会十分麻烦添加依赖 pom.xml <!-- 定义依赖的版本号 --> <properties> <j原创 2020-10-29 19:52:07 · 394 阅读 · 1 评论 -
day22--SSM之Spring AOP
day22–SSM之Spring AOPSpring AOP概念(1)AOP(Aspect Oriented Programming)是面向切面编程。就是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。简单说 就是在不改变方法原代码的基础上,对方法进行功能增强本质上是生成了一个新的类,叫做代理类(2)AOP对程序的扩展方式采用动态代理的方式. (JDK动态代理和Cglib动态代理两种方式)Spring 动态代理(1)JDK的动态代理》Proxy类的方法Proxy类的静原创 2020-10-09 20:12:11 · 126 阅读 · 0 评论 -
day22--SSM之Spring jdbc
day22–SSM之Spring jdbcSpring JDBCTemplate介绍(1)JdbcTemplate属于Spring中比较独立的一个模块(2)JdbcTemplate是什么?Spring对数据库的操作在jdbc上面做了深层次的封装(3)有什么特点?》使用spring的注入功能可以把DataSource注册到JdbcTemplate之中 (spring-jdbc.jar)》JdbcTemplate 核心处理对象(有对应的增删改查的方法)update(sql, 实际传递的参数 )原创 2020-10-09 20:07:17 · 159 阅读 · 0 评论 -
day22--SSM之Spring test
day22–SSM之Spring testSpring和junit的整合(1)在spring框架下,如何给类做单元测试?》Junit+手动创建IOC容器》Junit+spring test + 自动创建IOC容器+自动注入(不用调用getBean)(2)什么是spring-test模块?spring提供的基于junit的测试模块,可以简化IOC创建,且可以使用注入(3)如何使用Spring-test模块?@RunWith(SpringJUnit4ClassRunner.class)@Con原创 2020-10-09 19:24:55 · 118 阅读 · 0 评论 -
day22--SSM之Spring web
day21–SSM之Spring webSpringAutowired与Qualifier(1)@Autowired:Spring会自动创建实现类对象,并且将实现类对象赋值给dao如果项目中有该接口只有一个实现类,可以使用Autowired但是,接口有两个或者两个以上的实现类,此时抛异常如:PersonDaoImpl StudentDaoImp(2)@Qualifier:可以手动指定将哪一个实现类的对象赋值给IPersonDao接口(3)两个必须合在一起使用public class A{@原创 2020-10-09 19:21:29 · 100 阅读 · 0 评论 -
day22--SSM之接口调用与IOC注入达到解耦效果
day21–SSM之接口调用与IOC注入达到解耦效果学习目标(1)Spring面向接口编程(2)Spring和web结合(3)Spring和junit的整合*(4)SpringJDBCTemplate增删改查(5)Spring的AOP*Spring面向接口编程-创建Web项目(1)创建Project Maven(2)创建Module web app Maven(3)设置java,reousrces,test(4)配置依赖pom.xmlSpring面向接口编程-原理(1)接口定原创 2020-10-09 19:15:32 · 125 阅读 · 0 评论 -
day21--SSM之Spring依赖注入
day21–SSM之Spring依赖注入Spring依赖注入-Xml方式 Dao(1)对象注入public class A{ private int id; private B b;}public class XXXService{ private int id; private XxxDao xxxdao;}Test @Test public void test09(){ //PersonService personService =原创 2020-10-08 20:55:42 · 163 阅读 · 0 评论 -
day21--SSM之SpringIOC
day21–SSM之SpringIOCSpring的介绍(1)Spring是什么?Spring 是分层的 Java SE/EE 应用 full-stack 轻量级开源框架》full-stack Service Dao web》轻量级 按需添加模块》开源 可以获取源代码以 IoC- (Inverse Of Control:反转控制)和 AOP- (Aspect Oriented Programming:面向切面编程)为内核(2)有什么特点?提供了展现层 SpringMVC持久层 Spr原创 2020-10-08 20:50:32 · 122 阅读 · 0 评论 -
day21--logj4与sl4j的区别
day21–logj4与sl4j的区别学习目标(1)Junit 针对方法(2)log4j与sl4j(3)Spring - IOClog4j的介绍(1)什么是log4j?Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件等(2)有什么特点?》可以控制每一条日志的输出格式》控制日志的生成过程通过一个配置文件来灵活地进行配置log4j.properties,而不需要修改应用的代码public class Test01 { /原创 2020-10-08 20:35:55 · 125 阅读 · 0 评论 -
day17--途牛旅游项目-激活功能
day17–途牛旅游项目-激活功能UUID介绍(1)什么是uuid全球唯一的,不会重复的 固定长度的随机字符串25fd9bcf50ad4dc39aa38f084d1801c8(2)复制UUI工具类public final class UuidUtil { private UuidUtil(){} public static String getUuid(){ return UUID.randomUUID().toString().replace("-",""); }}test原创 2020-10-06 20:39:33 · 383 阅读 · 0 评论 -
day17--途牛旅游项目-注册功能
day17–途牛旅游项目-注册功能注册功能_功能分析注册功能_功能实现Test方法 @Test public void test03() { UserService userService = new UserService(); User user = new User(); user.setUsername("jackhello"); user.setPassword("123456"); user.原创 2020-10-06 20:39:17 · 429 阅读 · 0 评论 -
day17--途牛旅游项目-登录功能V2
day17–途牛旅游项目-登录功能V2学习目标(1)改进登录(2)注册功能MySessionUtils改进(1) A依赖B,移除B,A报错,耦合 public static <T> T getMapper(Class clz) { return (T) getSession().getMapper(clz); }去除耦合include标签***(1)include指令 include指令用于在本JSP中引入其他JSP页面。<%@ include原创 2020-10-06 20:38:59 · 214 阅读 · 0 评论 -
day16--途牛旅游项目-环境搭建&登录功能
day16–旅游项目学习目标(1)项目搭建( 2)核心模块:登录(3)sql(4) Junit(5) Git:版本管理工具项目演示登陆进去后:边滑动边加载、分页…项目实现1:新建一个工程(quickstart),src目录没什么作用,删掉maven 改为JDK1.8版本的,删除build标签(没什么用)点击工程创建一个小模块(webapp),大的工程已经制定maven版本,小模块的就不要,build不要在终端(terminal)将项目管理起来- git init-原创 2020-10-03 17:24:43 · 542 阅读 · 0 评论 -
day15--【Mybatis】--关联查询
day15–【Mybatis】–关联查询关联查询(1)项目不可能只有一个表,一般是多表(2)多表关系为,一对一,一对多,多对多(3)查询的数据来自多个表,要使用多表查询笛卡尔集,显示内连接inner join,左外连接left outer join,右外连接right outer join,子查询select嵌套select(4)查询的结果要封装成javaBean对象 ,在Mybatis中重点掌握resultType与resultMap关联查询中只分为一对一和一对多查询关联查询-一对一(1原创 2020-09-26 17:30:45 · 90 阅读 · 0 评论 -
day15--【Mybatis】-- 动态标签
day15–【Mybatis】-- 动态标签(1)动态标签是什么?由于mybatis将sql与java代码分离(sql写在xml中)if标签,where标签 forEach标签(2)动态标签有什么用?用来根据数据的不同来生成对应的sql(3)应用场景高级搜索功能搜索有多个条件,不是每个条件输入框都有值 ,此时需根据值来生成where条件动态sql-if标签与where标签(1)if标签》 if标签:可以判断传入的参数是否为空,如果不为空则拼接sql(2)where标签》1 wher原创 2020-09-26 16:42:08 · 152 阅读 · 0 评论 -
day15--【Mybatis】-- ResultMap标签
学习目标(1)ResultMap(重要)查询数据封装的原理字段名和成员名不一致ResultMap标签(2)动态sql(重要)动态sql-if标签动态sql-foreach标签(3)关联查询(重要)关联查询-一对一关联查询-一对多关联查询-综合案例订单模块(1)初始化数据库(2)搭建环境》1 依赖》2 log4j.properties》3 工具类》4 核心配置文件》5 映射文件》6 编写接口》7 编写sql》8 配置select标签字段名和成员名不一致名字不一原创 2020-09-26 15:46:48 · 121 阅读 · 0 评论 -
day15--【Mybatis】--环境搭建案例知识回顾
day15–【Mybatis】–订单模块学习目标(1)ResultMap(重要)查询数据封装的原理字段名和成员名不一致ResultMap标签(2)动态sql(重要)动态sql-if标签动态sql-foreach标签(3)关联查询(重要)关联查询-一对一关联查询-一对多关联查询-综合案例订单模块(1)初始化数据库(2)搭建环境》1 依赖》2 log4j.properties》3 工具类》4 核心配置文件》5 映射文件》6 编写接口》7 编写sql》8 配置sele原创 2020-09-26 15:29:31 · 58 阅读 · 0 评论 -
day14--【Mybatis】动态代理--根据id查询
day14–【Mybatis】动态代理–根据id查询接口与实现类与代理若有一个接口,怎么实现接口?方法1:编写实现类文件方法2:使用动态代理在内存中生成实现类,但没有对应的.java,.class文件原创 2020-09-26 10:11:53 · 351 阅读 · 0 评论 -
day14--JavaWeb【Mybatis】环境搭建及增删查改操作
day14–JavaWeb【Mybatis】环境搭建(1)mybatis下载mybaits的代码由github.com管理下载地址:https://github.com/mybatis/mybatis-3/releases2)导入jar包测试相关的包: junit hamcrest日志相关的包:log4j-1.2.16 slf4-api slf4j-log4j12数据库相关jar包: mysql-connectorMybatis先关jar包: mybaits-3.4.5在pom.xml文件原创 2020-09-24 19:12:10 · 230 阅读 · 0 评论 -
day14--JavaWeb【Mybatis】JDBC回顾+Mybatis概述
day14JavaWeb【Mybatis】学习目标1、Mybatis的介绍2、Mybatis的入门a)使用jdbc操作数据库存在的问题 (回顾jdbc)b)Mybatis的架构c)Mybatis的入门程序 (重点)3、Dao的开发方法a)原始dao的开发方法 (了解)b)接口的动态代理方式 (重点)Mybatis–Dao层Jdbc介绍(1)案例: jdbc 做一个根据名称查询用户的操作(2)什么是jdbc?Java Database Connectivity ,Java数据库连接原创 2020-09-24 13:25:08 · 181 阅读 · 0 评论 -
day13--sql--多表查询***
day13–sql–多表查询***多表的查询介绍(1)初始化数据(2)实际项目中,数据保存于多个表,如果需要的数据来自多个表,就要使用多表查询(3)查询的分类》1:交叉连接查询(了解)》2:内连接查询隐式内连接,显式内连接***》3:外连接查询左外连接, 右外连接》4:子查询# 初始化数据create database day13_3;use database day13_3;create table category ( cid int primary key , c原创 2020-09-23 19:15:10 · 68 阅读 · 0 评论