自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 springcloud stream消息驱动使用

cloud stream概述Stream常用注解简介消息生产者(rabbitmq为例)新增消息驱动maven依赖配置文件业务类发送消息消息消费者同样引入消息驱动maven依赖配置文件业务类消费消息重复消费问题消息持久化概述屏蔽底层消息中间件的差异,降低切换成本,统一消息的编程模型。目前仅支持rebbitmq和kafkaStream常用注解简介@Input:标识输入通道,通过该输入通道接收到的消息进入应用程序@Output:标识输出通道,发布的小童将通过该通道离开应用程序@StreaListen

2020-09-30 17:38:50 205

原创 springcloud-config和bus的基本使用

Springcloud config概述整合github远程仓库添加文件新建配置中心模块confing-server的maven依赖application.yml主启动类上加@EnableConfigServer测试获取github上的yaml文件内容新建config-client模块config-client的maven依赖bootstrap.yml概述为微服务架构中的微服务提供集中化的外部配置支持。配置服务器为各个不同微服务应用的所有环境提供了一个中心化的外部配置。Springcloud Confi

2020-09-29 14:43:04 241

原创 Zuul的基本使用

Zuul的基本使用概述配置步骤zuul的maven依赖将zuul注册进服务治理中心测试配置路由概述Zuul作为网关,相当于挡在了所有微服务的最外层。系统外部想要访问各个微服务必须先经过网关。zuul包含了对请求的路由和过滤两个最主要的功能。路由功能:负责将外部请求转发到具体的微服务实例上,是实现外部访问统一接口的基础。过滤器功能:负责对请求的处理过程进行干预。是实现请求校验和服务聚合等功能的基础。配置步骤zuul的maven依赖<dependency> &

2020-09-28 17:19:09 2711 2

原创 原生JDBC疑惑和使用总结

文章目录为什么通过反射注册驱动将连接数据库的信息提取出来为什么使用连接池如何配置连接池,知道连接池有哪些属性为什么通过反射注册驱动一、注册驱动的过程中最核心的部分是:DriverManager.registerDriver(new Driver());通过DriverManager注册数据库驱动。二、存在的问题:1、new Driver()属于硬编码,代码耦合性太高。2、点进去看一下Driver的源码可以看到在Driver类中有一个静态代码块,其中有一行代码DriverManager.reg

2020-09-11 14:49:51 172

原创 Springboot2.0缓存,集成Redis

文章目录基本注解介绍@Cacheable介绍参数@CachePut介绍参数@CacheEvict介绍参数@CacheConfig介绍参数整合redis作为缓存基本注解介绍@Cacheable介绍标注在方法上,存放方法的返回结果到缓存中。在目标方法执行之前执行。调用目标方法时,先去查询缓存,根据key查询数据,缓存中有对应数据的话,直接从缓存中取。如果没有对应数据的话,就执行目标方法,将返回结果放到缓存中参数cacheNames/value:指定缓存组件的名字key:缓存数据使用的key,默认是

2020-09-08 11:34:27 91

原创 Zuul的使用以及踩坑404问题

文章目录zuul的基本使用zuul的坐标将zuul作为服务注册在主启动类上添加@EnableZuulProxy进行访问测试失败404:http://localhost:9528/CLOUD-PAYMENT-SERVICE/payment/get/1成功:http://localhost:9528/cloud-payment-service/payment/get/1失败原因zuul的基本使用zuul的坐标<dependency> <groupId>org

2020-09-07 14:49:55 1284

原创 springmvc--拦截器

一、自定义拦截器,需要实现HandlerInterceptor接口package com.springmvc.interceptor;import org.springframework.web.servlet.HandlerInterceptor;import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest;import javax.servlet.http

2020-09-03 11:22:16 89

原创 springmvc--自定义转换器,绑定日期类型参数

文章目录前台传输的日期类型参数,后台无法绑定的异常解决方法实际操作定义转换器在spring-mvc.xml中声明前台传输的日期类型参数,后台无法绑定的异常前台参数在请求体中传输时,都会当作String类型。在与controller中与参数进行绑定时需要转换器,转成参数类型。Springmvc默认提供了很多参数转换器,例如String转int等。对于需要转成Date类型的数据来说,也有默认的转换器,默认情况下YYYY/MM/dd格式的数据可以转成Date类型。但如果我们提交的数据是YYYY-MM-dd格式

2020-09-03 10:46:31 157

原创 springcloud--Eureka

这里写目录标题Eureka服务注册与发现基础知识使用创建EurekaServer导入EurekaServer的坐标application.yml主启动类向EurekaServer中注册服务导入EurekaClient的坐标application.yml主启动类编写Controller测试Eureka服务注册与发现基础知识1、springcloud封装了netflix公司开发的Eureka模块来实现服务治理。2、Eureka采用了cs的服务架构,Eureka Server作为服务注册的中心,而系统中的

2020-09-02 15:41:43 120

原创 Springboot实现定时任务

文章目录Scheduled定时任务器简介代码示例引入scheduled的坐标编写定时任务类在主启动类中开启定时任务功能cron表达式各字段含义符号的含义整合Quartz定时任务框架简介代码示例引入Quartz的坐标自定义job类实现org.quartz.Job接口自定义Job对象工厂,并把job对象添加到容器中编写配置类在主启动类中开启定时任务功能代码参照Scheduled定时任务器简介scheduled是spring3.0以后自带的一个定时任务器。通过@Scheduled(cron=”“)设置定

2020-09-01 21:31:24 315

原创 Redis基本使用

文章目录Redis的下载与安装Redis单线程+多路IO复用Redis的五大数据类型String特点相关指令Redis基本指令如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入Redis的下载与安装你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想

2020-09-01 13:53:18 74

原创 shiro-MD5不带盐值加密和带盐值加密

一、不带盐值加密1、将前台传过来的密码进行MD5加密。将当前的Realm 的credentialsMatcher属性,替换为Md5CredentialsMatcher 由于Md5CredentialsMatcher已经过期了,推荐使用HashedCredentialsMatcher 并设置加密算法即可。2、配置HashedCredentialsMatcher,通过setHashAlgorithmName:设置加密算法的名称etHashIterations:设置加密的次数3、Hashe

2020-08-31 15:21:05 931

原创 SpringBoot

一、注解1、@SpringBootApplication:标注主程序类,说明这是一个SpringBoot应用。2、@RestController:相当于@Controller和@Responsebody的组合注解,标注在类上,类中的所有方法返回数据。3、@ConfigurationProperties(prefix="xxx"):标注在类上,告诉SpringBoot将配置文件中的配置项和类中的属性进行绑定,prefix指定配置文件中哪一配置项下的属性和类中的属性绑定。当类属于容器中的组件时,该注

2020-06-27 23:34:49 123

原创 ssm--数据回显

1、使用model.addAttribute()方法进行数据回显2、使用@ModelAttribute(value="item"),value的值相当于key3、@ModelAttribute将方法返回值传到页面@ModelAttribute(value="itemsType") public Map<String,String> getItemsType() thro...

2019-07-03 14:56:53 351

原创 自定义参数绑定使用转换器

自定义转换器实现Converter接口//String是原始类型,Date是要转换的目标类型public class CustomDateConverter implements Converter<String, Date> { @Override public Date convert(String source) { try { return new Sim...

2019-06-25 13:57:17 343

原创 自定义参数绑定使用属性编辑器

1、PropertyEditor使用WebDataBinder在controller中通过@InitBinder标识方法为参数绑定方法,通过WebDataBinder注册属性编辑器,问题是此方法只能在单个controller类中注册。@InitBinder public void initBinder(WebDataBinder binder) throws Exception {...

2019-06-24 10:13:38 369

原创 mybatis17--逆向工程

1、逆向工程:mybatis官方为了提高开发效率,提高自动对单表生成sql,包括 :mapper.xml、mapper.java、实体类2、逆向工程运行所需要的jar包:mybatis-generator-core-x.x.x.jar、数据库驱动包3、generatorSqlmapCustom/generatorConfig.xml配置文件<?xml version="1.0"...

2019-05-13 22:25:27 96

原创 mybatis16--mybatis和spring整合开发mapper代理

1、applicationContext.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cont...

2019-05-13 20:59:22 103

原创 mybatis15--mybatis和spring整合开发原始dao接口

1、applicationContext.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cont...

2019-05-13 20:02:58 95

原创 mybatis14--mybatis和spring整合思路

mybatis和spring整合思路1、让spring管理SqlSessionFactory2、让spring管理mapper对象和dao。 使用spring和mybatis整合开发mapper代理及原始dao接口。自动开启事务,自动关闭 sqlsession.3、让spring管理数据源( 数据库连接池)...

2019-05-12 22:02:23 129

原创 mybatis13--mybatis和ehcache整合

通过mybatis和ehcache框架进行整合,就可以把缓存数据的管理托管给ehcache。在mybatis中提供一个cache接口,只要实现cache接口就可以把缓存数据灵活的管理起来。1、配置ehcache.xml2、在mapper.xml添加ehcache配置:...

2019-05-12 09:21:19 76

原创 mybatis12--mybatis的cache参数

mybatis的cache参数只适用于mybatis维护缓存。1、flushInterval(刷新间隔)可以被设置为任意的正整数,而且它们代表一个合理的毫秒形式的时间段。默认情况是不设置,也就是没有刷新间隔,缓存仅仅调用语句时刷新。2、size(引用数目)可以被设置为任意正整数,要记住你缓存的对象数目和你运行环境的可用内存资源数目。默认值是1024。3、readOnly(只读)属...

2019-05-11 20:00:36 811

原创 mybatis11--一级缓存和二级缓存

一、一级缓存1、原理第一次发出一个查询sql,sql查询结果写入sqlsession的一级缓存中,缓存使用的数据结构是一个map<key,value>,key:hashcode+sql+sql输入参数+输出参数value:用户信息同一个sqlsession再次发出相同的sql,就从缓存中取不走数据库。如果两次中间出现commit操作(修改、添加、删除),本sql...

2019-05-11 19:58:11 123

原创 mybatis10--延迟加载

1、使用延迟加载的意义:在进行数据查询时,为了提高数据库查询性能,尽量使用单表查询,因为单表查询比多表关联查询速度要快。如果查询单表就可以满足需求,一开始先查询单表,当需要关联信息时,再关联查询,当需要关联信息再查询这个叫延迟加载。mybatis中resultMap提供延迟加载功能,通过resultMap配置延迟加载。2、配置mybatis支持延迟加载: 设置项 ...

2019-05-10 21:04:53 120

原创 mybatis09--使用resultMap完成关联信息的映射

1、单条关联信息:<resultMap type="orders" id="ordersResultMap"><id column="id" property="id"/><result column="user_id" property="user_id"/><result column="number" property="number"/...

2019-05-10 11:06:11 219

原创 mybatis08--使用resultType实现一对一查询(查询订单信息关联查询用户信息)

需求:一个订单对应着一个用户,查询订单信息关联查询用户信息。思路:确定sql语句:select orders.*,user.username,user.sex from orders,user where orders.user_id=user.id先确定主查询表(订单表orders),再确定关联查询表(用户表user)。通过orders中的user_id外键关联查询用户。使用re...

2019-05-10 08:34:16 472

原创 mybatis07--动态sql

sql片段:<sql id="findUserWhere"><if test="userCustom!=null"><if test="userCustom.username!=null and userCustom.username!=''">and username like '%${userCustom.username}%'</if&...

2019-05-09 09:18:52 93

原创 mybatis06--配置resultMap

<resultMap type="user" id="findUserResult"><id column="id_" property="id"/><result column="birthday_" property="birthday"/><result column="username_" property="username"/>...

2019-05-08 21:15:11 92

原创 mybatis05--SqlMapConfig.xml加载mapper映射配置细节

1、通过resource引用mapper映射文件<mappers> <mapper resource="cn.com.demo.mapper.UserMapper.xml"/> </mappers>2、通过class引用class:配置mapper接口的全限定名要求:mapper接口和mapper映射文件同名,并且在一个目录中&lt...

2019-05-08 20:55:09 361

原创 mybatis04--mapper代理开发规范

1、mapper.xml中namespace指定为mapper接口的全限定名。此步骤目的:通过mapper.xml和mapper.java进行关联。2、mapper.xml中statement的id就是mapper.java中方法名3、mapper.xml中statement的parameterType和mapper.java中方法输入参数类型一致4、mapper.xml中statem...

2019-05-08 20:44:32 122

原创 mybatis03--不生成代理,通过sqlSession操作数据库(根据id查询用户信息)

实体类:Userpublic class User { private int id; private String username; private String sex; private Date birthday; private String address; public int getId() { return id; } public void setId...

2019-05-08 15:53:23 257

原创 mybatis02--SqlMapConfig.xml

mybatis全局配置文件:SqlMapConfig.xml(名称不固定),通过SqlMapConfig.xml加载mybatis的运行环境SqlMapConfig.xml中配置的内容和顺序如下:1、properties(属性)----------------------------可以把一些通用的属性值配置在属性文件中,加载到mybatis运行环境内。-----------...

2019-05-07 12:46:41 108

原创 mybatis01--使用传统的JDBC存在的问题

1、数据库连接频繁的创建和关闭,浪费资源。2、sql语句是硬编码,如果需求变更需要修改sql,就需要修改java代码,需要重新编译,系统不易维护。3、通过preparedStatement向sql语句中的占位符设置参数,存在硬编码问题,系统不易维护。4、遍历查询结果集存在硬编码。...

2019-05-07 11:34:12 166

原创 spring26--JdbcTemplate的CRUD的操作

1、实体类:Userublic class User { private int id; private String name; public int getId() { return id; } public String getName() { return name; } public void setId(int id) { this.id = id; ...

2019-05-02 09:50:31 139

原创 spring25--spring的JDBC模板、默认连接池、DBCP连接池、c3p0连接池

spring对持久层技术的支持:JDBC: org.springframework.jdbc.core.JdbcTemplateHibernate3.0 : org.springframework.orm.hibernate3.HibernateTemplateIBatis(MyBatis) : org.springframework.orm.ibatis.SqlM...

2019-05-02 09:15:52 226

原创 spring24--AspectJ的切点定义

可以在增强类里面通过@Pointcut来定义切点格式为:@Pointcut("execution(* cn.com.demo3.UserDao.add(..))") private void myPointcut(){}应用切点的时候:@Before("类名.myPointcut()")...

2019-04-30 16:34:08 136

原创 spring23--基于Aspect的XML形式配置自动代理(以前置通知为例)

<bean id="userDao" class="cn.com.demo3.UserDao"></bean><bean id="myAspect" class="cn.com.demo3.MyAspect"></bean><aop:config> <!-- 定义切点: --> <aop:pointcut ...

2019-04-30 16:20:58 146

原创 spring22--基于AspectJ 注解进行自动代理

步骤如下:1、编写被增强的类package cn.com.demo3;public class UserDao { public void add(){ System.out.println("添加用户"); } public void delete(){ System.out.println("删除用户"); } public void update(){ S...

2019-04-29 21:33:06 175

原创 spring21--AspectJ(概念、表达式、增强)

1、AspectJ的概念:AspectJ是一个面向切面的框架,它扩展了Java语言。AspectJ定义了AOP语法所以它有一个专门的编译器用来生成遵守Java字节编码规范的Class文件。2、AspectJ表达式:* 语法:execution(表达式)execution(<访问修饰符>?<返回类型><方法名>(<参数>)<异常&gt...

2019-04-29 21:24:26 326

原创 spring20--自动代理(BeanNameAutoProxyCreator 、DefaultAdvisorAutoProxyCreator )

自动创建代理:自动创建代理(*****基于后处理Bean.在Bean创建的过程中完成的增强.生成Bean就是代理.)BeanNameAutoProxyCreator 根据Bean名称创建代理DefaultAdvisorAutoProxyCreator 根据Advisor本身包含信息创建代理AnnotationAwareAspectJAutoProxyCreator 基于Bean中...

2019-04-29 17:59:08 457

空空如也

空空如也

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

TA关注的人

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