- 博客(41)
- 收藏
- 关注
原创 Spring batch 学习笔记
一、Spring batch 简介Spring batch 是Spring系列处理批量数据的框架。主要构成如图所示:JobRepository用来注册job的容器,用来存储 Job 在运行过程中的状态信息,如果失败了,可以重失败的地方重新发起。 JobLauncher 用来启动Job的接口,可以不指定。会在项目启动时,会直接启动批量逻辑,可以再YML文件里配置。 Jo...
2019-04-25 15:07:29
751
原创 spring boot 学习笔记——使用webSocket
一、简介:webSocket是基于TCP连接的全双工通信协议。它是最先出现在HTML5中,是类似于HTTP的一种传输协议,与HTTP不同的是,HTTP只能由客户端发起request请求然后由服务端返回response响应的一种协议。整个过程中都是由客户端发起,而服务端被动服务的。而webSocket则可以由服务端主动向客户端发起消息。 以前为了解决这种问题是利用ajax技术轮询向服务端发送请...
2019-01-10 10:58:47
363
原创 Spring Boot学习笔记——异步实现@Async
一、简介 本文将简单介绍利用@Async注解实现Spring Boot的异步方法。以远程调用服务,返回信息观察返回信息时间来展现异步方法的实现 @Async 是一个类或方法级别的注解,它的作用是将它注解的类或方法表明是在单独线程上运行的。二、工程实现 1.创建spring boot工程,命名为asynchronous-spring-boot,并用maven管理引入以下依赖:...
2019-01-09 10:19:16
616
原创 Spring Boot学习笔记——与RabbitMq的数据交互
一、搭建工程 我们需要搭建一个简单的 可以实现与RabbitMq进行数据交互的Spring Boot工程 首先需要在自己的电脑上搭建RabbitMq环境,可以直接去https://www.rabbitmq.com/download.html官网下载,然后安装(这里不作叙述) 1.创建Spring Boot工程(这里使用的Spring Boot版本为2.1.1.RELEASE),命...
2019-01-08 10:36:51
784
原创 Spring Boot学习笔记——计划器
一、计划器 Spring Boot支持每隔一段时间运行某个方法。具体通过一个例子来看。二、计划器实例 1.搭建一个Spring Boot工程,命名为:scheduled-spring-boot。 2.创建实现方法,命名为:ScheduledTask.java,如图所示: 代码如下:package com.example.dcheduled;import ja...
2019-01-03 15:08:02
245
原创 Spring Cloud——声明式的服务调用
一、声明式的服务 Feign是一个声明性的Web服务客户端。它使编写Web服务客户端变得更容易。它具有可插入的注释支持,包括Feign注释和JAX-RS注释。Feign还支持可插拔编码器和解码器。另外它还集成了Ribbon,Eureka及Hystrix,所以feign也能实现了负载均衡,服务注册,断路器功能。(感觉很棒,集成这么多也就意味着pom.xml文件夹里需要依赖的文件变少了) ...
2018-12-18 17:55:13
481
原创 Spring Cloud学习笔记——请求合并及实现
一、什么是请求合并 首先先理解请求,请求是客户端发送给服务端的数据要求,指明客户端想要做什么或者想要什么样的数据的一个要求(请求),得到服务端的批准之后,服务端会把相应的客户端想要的数据返回给客户端(我们称之为响应)。举个例子:就是中午吃饭,点餐告诉餐厅你想要什么(这个过程为发送请求),然后餐厅给你端来你想要的东西也有可能是与你想要的不一样的(这个过程为返回响应)。那么请求合并表面意思就是...
2018-12-17 10:10:40
1745
1
原创 Sprint Cloud学习笔记——服务容错保护机制Hystrix
一、前言以之前的负载均衡的例子为例(具体搭建步骤请参考:https://blog.csdn.net/notMoonHeart/article/details/84954217),在服务注册中心注册了两个服务,假如此时把server1关闭(粗暴的把server1干掉),再次访问,则会导致无法返回请求信息。在实际生产上,有可能是高并发,网络慢等等原因导致自身服务响应慢,从而影响整个系统的正常运行。...
2018-12-11 17:46:59
472
原创 Spring Cloud学习笔记——负载均衡Ribbon
一、理解负载均衡负载均衡个人理解:是指,将要处理的数据发送给中介,中介通过算法分摊到多个可以处理该数据的服务上去处理。一般分为硬件负载均衡和软件负载均衡。硬件负载均衡主要通过在服务器节点之间安装专门用于负载均衡的设备,比如 F5 等;软件负载均衡则是通过在服务器上安装一些具有均衡负载功能或模块的软件来完成请求分发工作, 比如Nginx 等。二、搭建Spring Cloud Ribbon...
2018-12-11 14:57:31
303
原创 Spring Cloud学习笔记——高可用的服务注册中心
一、什么是高可用的注册中心学习了单例的服务注册中心后(具体参考https://blog.csdn.net/notMoonHeart/article/details/84949475),需要考虑,如果服务中心挂掉了,那么我们的服务怎么监测呢?所以,这里引用了高可用的服务注册中心,来解决,发生故障之后,服务注册中心是怎么处理的。处理的思路:简单来讲,就是布置一个服务注册中心集群(多个单例的服务...
2018-12-11 12:14:14
197
1
原创 Spring Cloud学习笔记——服务治理-搭建简单的服务注册模式
一、服务治理理解:服务治理可以说是微服务架构中最为核心和基础的模块, 它主要用来实现各个微服务实例的自动化注册与发现。分析:服务治理是用来治理服务的,也就是说用来管理服务(简单理解为server端)。那么最开始对于微服务的管理一定是手动去管理的,那么对于服务不断的增多,发现手工管理难度与工作量会增大,所以要实现利用程序自动化管理。那么接下来就是怎么管理的问题,是服务端向服务中心注册,注册完...
2018-12-11 09:50:35
322
1
原创 Spring boot学习笔记——配置文件
一、spring boot的配置文件简单介绍1.首先搭建一个Spring boot工程2.搭建好之后,如图所示spring boot的配置文件支持两种格式,写法也不相同,首先先看application.properties文件,如图:再看application.yml文件的写法,如图所示: 这两个文件表达的内容是一致的,只是写法上不同,注意yml文件的写法要求。...
2018-12-10 11:29:25
226
原创 spring boot学习笔记——spring boot工程的搭建
一、搭建spring boot工程1.首先new->other...选择Spring starter Project,如图所示:2.点击next,输入相关信息选择所属工程,如图3.点击finsh,完成工程创建,如图所示:这样一个spring boot工程就搭建完成了可以观察到spring boot的工程 有三层结构: main/java 中存放的一...
2018-12-10 10:58:56
306
原创 Oracle数据库中的字符串函数
最近学了一些关于Oracle的字符串处理的方法,在这里记下来。首先是sql中一些常用的字符串替代方法:% 表示零或多个字符 _ 表示一个字符 对于特殊符号可使用 ESCAPE 标识符来查找 select * from emp where ename like '%*_%' escape '*' 上面的 escape 表示*后面的那个符号不当成特殊字符处理,就是查找普通的_符...
2018-11-26 17:12:02
665
1
原创 代理模式
代理模式:1.代理模式的特征是代理类与委托类实现同样的接口(一般情况下)或者代理类继承委托类。2.代理类主要负责给委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等3.代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象相关联4.代理类的对象本身并不真正实现功能,而是通过调用委托类的对象的相关方法,来提供特定的功能(所以实现同样的接口才可以保证方
2017-11-09 22:42:03
246
原创 spring与mabatis的结合
spring与mybits结合需要在项目中导入mybatis-spring-1.2.2.jar,可从mybtis官网下载1.配置文件,与mybits结合可以使用mybatis-config.xml文件也可以不使用Spring为我们提供SqlSessionFactoryBean类来获取sqlSession对象,以下为配置代码配置文件名为spring-mabatis.xml不使用myb
2017-11-09 22:37:52
605
1
原创 jdbcTemplate的理解及使用
jdbcTemplate是spring框架中一个关联于Jdbc的模板,可以简化代码的操作但只能实现部分操作,下面通过例子来看xml配置文件(jdbcTemplate.xml):如图:配置的具体使用类为(JdbcTemplateDao.java):如下:public class JdbcTemplateDao {private JdbcTemplate jdbcT
2017-11-09 22:36:36
797
原创 Spring中的自定义事件
在spring中我们可以自定义事件,并且可以使用ApplicationContext类型对象来发布这个事件,事件发布之后,所有的ApplicaitonListener(监听器)实例都会被触发并调用指定方法onApplicationEvent()来处理.1.定义事件:如图所示:2.定义监听器:如图所示:3.配置xml文件:如图所示:当事件触
2017-11-07 01:00:21
580
原创 spring容器创建bean对象的方式
1)xml文件中有bean的配置,而且这个bean所对应的java类中存在一个无参构造器,那么这个时候spring容器就可以使用反射调用无参构造器来创建实例了(常规的方式)2)通过工厂类获得实例(工厂类实现了接口FactoryBean)例如:xml中的配置文件然后通过ApplicationContext类的对象调用getBean("conn");即可得到该对象3)通过实
2017-11-07 00:56:02
959
原创 Spring中关于xml导入其他xml问题
如果我们在spring框架中配置了多个xml文件,我们可以在读取配置文件的时候把这些xml文件一下全都读取,也可以只读一个总的xml文件,在这个总的xml文件中把其他的xml全都都导入进来。例如:有一个名字叫student.xml的配置文件和teacher.xml的配置文件把他们导入到新的配置文件中新建一个名字为import.xml的配置文件:就可以把之前的两个xml文件导
2017-11-07 00:55:18
1652
原创 Spring中的ioc
IOC:Inversion of Control 控制反转 Spring的核心容器也可以成为ioc容器,它主要负责各个对象的创建,初始化,销毁等(即对象的生命周期)目的:削减程序的耦合性分类:分为依赖注入(DI)和依赖查找(DL),其中依赖注入应用比较广泛DI:表示让调用类对某一接口实现类的依赖关系由容器注入,以消除调用类对某一接口实现的依赖关系。DL:容器创建对象并提供 回调
2017-11-07 00:52:10
451
原创 用jquert使用ajax技术
jQuery 发送的所有 Ajax 请求,内部都会通过调用 $.ajax() 函数来实现1.ajax()中的参数详解:url:一个用来包含发送请求的字符串async:是否异步请求,默认为truecache:表示浏览器是否缓存此页面。默认为true。data:发送到服务器的数据。数据必须为{"key:value"}的形式method:Http请求方法(比如:"get","
2017-11-02 23:13:41
437
原创 jQuery选择器与过滤器
一、选择器:查找节点,jQuery的选择机制构建于Css的选择器,它提供了快速查询DOM文档中元素的能力,而且大大强化了JavaScript中获取页面元素的方式,另外,它还有一些自定义的选择器。下面举一些列子来说明选择器:(笔者用css样式几乎给每一个选中的标签加了了一个颜色框,有利于测试的时候看到效果)如图一:二、过滤器:jQuery的过滤器必须用在jQuery选择器
2017-10-26 23:42:06
436
原创 jquery基本语法
一、基础语法是:$(selector).action()美元符号定义 jQuery选择符(selector)“查询”和“查找” HTML 元素jQuery 的 action() 执行对元素的操作二、四种参数写法:如图一;
2017-10-26 23:40:59
296
原创 会话追踪技术及状态跟踪,持久化的状态
会话追踪技术及状态跟踪,持久化的状态:会话追踪技术:Cookie,Session状态跟踪/持久化的状态:用来保存web应用中所产生的数据。一、会话追踪技术:http协议的访问是无状态的访问,当前的访问是不会知道之前访问的状态的。有时候我们需要之前访问的状态的数据,所以使用会话追踪技术来解决这一问题。a.Cookie1.位置:cookie在客户端和服务器端都会有。
2017-10-22 10:27:28
513
原创 ajax使用步骤
AJAX 是一种用于创建快速动态网页的技术:通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。AJAX的特点:异步交互 局部刷新AJAX的使用步骤:如图1:但是通过以上例子我们可以看出来,每次使用ajax技术的时候都需要写那么一大串的重复代码,所以我们可以通过封装的方式,将其封装成一个
2017-10-22 00:22:12
408
原创 配置tomcat及集成到eclipse
一、配置tomcat笔者这里介绍如何在自己的电脑上配置tomcat路径,笔者这里用的是6.0版本图一:1.首先右击我的电脑,打开属性按图2中步骤打开环境变量2.然后点击新建,创建CATALINA_HOME如图3中所示:路径为tomcat所放的位置3.确定后,再点击新建,创建JAVA_HOME如图四所示:注意:这里必须写成大写,不然tomcat
2017-09-27 21:52:51
455
原创 web应用访问数据库的方式
web应用访问数据库的方式:介绍两种。一种是通过JDBC连接,一种是通过Mybatis连接。笔者这里用tomcat6.0作为服务器一、通过JDBC的方式与servlet连接:1.配置tomcat的文件,首先打开tomcat文件中conf目录下的context.xml文件(用记事本的方式打开)将地下这段话添加到标签下,并修改改成自己要配置的参数auth="Container"
2017-09-27 21:48:13
7336
原创 mybatis配置文件详解
今天所讲的是mybtis的配置文件一般命名为mybatis-config.xml,大多数情况放在src目录下配置文件的主要作用是获取SqlSession对象一、environments用来配置数据库的工作环境的元素mybatis可以配置多种不同的工作环境以便自由的切换1.transactionManager:事务管理器:是在jdbc程序负责管理数据库连接的生命周期t
2017-09-21 23:52:18
468
原创 mybatis中mapper文件中的动态sql语句
有时候在检索时,用户提供的数据不一样多,我们很难使用静态的sql语句进行判别,所以这个时候需要使用动态的sql语句这里主要针对Mapper.xml文件中的sql语句,笔者在下面所有的例子中只提供了Mapper.xml文件中的动态sql语句如果想要自己测试,需要自己提供Mapper中的一个接口类和一个测试方法具体查看笔者之前写过的mybatis的使用步骤,这里不做过多的介绍另外,笔者实现
2017-09-21 21:24:25
6465
原创 select语句中的多表查询
select语句中的多表查询:连接条件放在where语句中如果没有where限定,则会产生笛卡尔积,如果1张表有1000多个元素,那么三个表将会产生几十亿的笛卡尔积所以要消除笛卡尔积就得使用where添加限定条件。如果有n张表连接需要添加n-1个限定条件来消除笛卡尔积一、等连接限定条件使用=连接一般两个表连接时,将一张表的外键值=另一张表的主键值例如:(两张表的等连接查
2017-09-18 22:25:15
1971
原创 select语句中where后的逻辑查询
sql语句中,select语句关于where后的逻辑查询一、逻辑比较符:大多用在select语句中的where后,判断限定性条件的逻辑比较1.and(逻辑与)指查询and左右两边的条件都满足的数据2.or(逻辑或)指查询or左右两边的条件满足一个即可的数据3.between 小数 and 大数(在两个数之间)多用于number类型的数据指查询在小数与大数之间的所有符
2017-09-18 22:23:25
4497
原创 sql语句中对账户的管理
sql语句关于对数据库中账号管理的使用:一、创建用户:数据库中只有system或sys用户才有创建用户的权限所以1.首先使用conn命令切换到system用户conn system/密码2.创建用户create user 账号名 inentified by 密码;注意:这里的创建用户是不能够登录的,因为该用户还没有任何的权限二、修改用户的密码:alter use
2017-09-18 22:21:54
640
原创 mybatis的简单使用步骤
mybatis使用步骤:1.读取配置文件:(一般来讲配置文件放在src目录下,且命名一般为mybatis-config.xml)InputStream is = Resources.getResourceAsStream("mybatis-config.xml");2.创建SqlSessionFactory对象:(该步主要是为了产生一个SqlSession对象)SqlSession
2017-09-15 21:18:29
673
原创 sql中的函数总结
一、在字符串上的单值函数lower(s1):将字符串转换成小写upper(s1):将字符串转换成大写initcap(s1):将字符串转换成首字母大写,其他字母小写concat(s1,s2):将两个字符串拼接成一个字符串substr(s1,n1,n2):求子串第一个参数是母串,第二个参数是子串的起始位置,第三个参数是子串长度length(s1):求字符串的长度 nvl
2017-09-14 21:21:41
508
原创 sql命令中关于对建好表的操作
对于sql对于建好表的操作1.添加字段alter table 表名add(字段名 数据类型 [默认值] [约束类型],。。。。);注:如果只有一个字段()可以不写2.删除字段alter table s_stu 表名drop column 字段名;3.修改字段alter table 表名modify (字段 数据类型(length) 默认值 not null)
2017-09-14 21:20:53
374
原创 sql语句常用的命令总结
一、查询命令:select 字段名1,字段名2......from 表名1,表名2...[where 限定条件][group by 字段名having 分组的限定条件][order by 排序方式];其中[]内的内容为可写内容1.where中可以对字段名中的值进行限定,查询出符合条件的字段内容如果把两张不同表的字段名用"="连接起来,则实现了多表连接查询
2017-09-14 21:19:39
568
原创 log4J简单的使用步骤
一、Loggers组件在此系统中被分为五个级别他们的顺序是:All规则:只输出级别不低于设定级别的日志信息二、Appenders禁用和使用日志请求只是Log4j的基本功能,Log4j日志系统还提供许多强大的功能,比如允许把日志输出到不同的地方,如控制台(Console)、文件(Files)等,可以根据天数或者文件大小产生新的文件,可以以流的形式发送到其它地方等等。
2017-09-14 21:18:50
386
原创 JDBC使用步骤
以下步骤以oracle数据库为例:首先导入一个包,以笔者为例C:\oraclexe\app\oracle\product\10.2.0\server\jdbc\lib这是包的路径其中有一个叫做ojdbc14.jar或ojdbc14_g.jar的两个包取一个即可第二步检查自己的服务是否开启如图,打开这两个服务才能正确连接到数据库,否则会报错1.注册驱动Class.
2017-09-14 21:17:15
283
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人