自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Sean的博客

一些日常学习记录

  • 博客(106)
  • 收藏
  • 关注

原创 SpringBoot 使用 redis以及windo 环境下redis安装

redis 简介Redis 是一个可以持久存储的缓存系统。 是一个高性能的key-value 数据库,使用键值对来存储数据redis 提供给了 多种数据类型用来存储数据:Key 可以是任意类型,但是最终会存储为 byte[]String 简单的(key value)存储接口,支持数据的自增,支持BitSet 结构Hash 哈希表数据结构,支持对field 的自增等操作List 列表...

2019-01-01 13:38:30 381

原创 Spring Boot 多环境切换配置以及 自定义 banner 的实现

sping boot 支持多环境配置文件切换,对于不同的生产环境使用不同的配置文件 。 spring boot 默认支持以下四种配置文件application.propertiesapplication-dev.properties:开发环境application-test.properties:测试环境application-prod.properties:生产环境至于哪个具体的配置文...

2019-01-01 11:17:37 578

原创 SpringBoot基于注解的面向切面编程

AOP 中,模块化单位是方面,可以将一个方面想像为在独立实体中实现了软件系统中(横切)部分的常见功能,其主要目的是通过分离这些横切关注点而增加模块化 ,同时也符合DRY (不要重复你自己)原则,以避免代码重复spring aop 是为了解耦 ,让一组类共享相同的行为,使用 切面来满足跨应用程序的横切关注点,从而提高应用程序的模块化定义AOP 的术语:通知:(advice)切面的目标 – ...

2019-01-01 10:55:36 1981

原创 spring boot 使用ehcache 实现缓存

所谓缓存是一种存储机制,可将数据保存在某一个地方,并以一种更快的方式为以后的请求提供服务spring 对于缓存提供了声明式缓存注解 ,并提供了四种类型的声明式缓存注解(同样是使用了AOP 技术实现),这些注解定义了那些 方法的返回值将要被缓存或者从缓存存储器中移除 ,需要注意的是,只有使用public 定义的方法才可以被缓存,当在一个类上使用注解时,该类中的每个公共方法都将被缓存到给定的存储器中...

2018-12-02 10:50:06 287

原创 Spring 声明式事务管理

所谓事务指的是一种用来保护数据完整性的机制 ,事务为与数据相关的操作定义了一个边界 ,并将他们组合在一起,以便这些操作的最终结果不会使底层数据处于不一致状态ACID(原子性,一致性,隔离性,持久性)表示可靠的事务管理系统应该如何运行才能够在不牺牲性能要求的情况下,跨多个并发用户操作,保护数据完整性,以下是ACID 的属性介绍原子性:在任何事务中,都可能在数据上上执行多个操作,这些操作必须全部...

2018-12-02 10:32:20 290

原创 使用mybatis 代码生成器生成基础的mapper ,model

代码生成器是由mybatis团队开发提供的, 代码生产器通过配置可以生成不同类型的代码,代码包含了数据库表对应的实体类,Mapper 接口类 ,mapper xml 文件和example对象等,这些代码文件几乎包含了全部的单表操作。 当然对于联表操作,还是需要自己书写SQL 的mybatis 代码生成器主要在于XML 的配置,下面是关于XML 配置的详解<?xml version="1....

2018-11-18 12:56:04 4109

原创 jdbc Template多数据源配置(Spring boot 实现)

由于JdbcTemplate 的bean主要依赖项为一个DataSource 对象, 所以,可以在创建的dataSource 对象时进行自定义,并注入到对应的JdbcTemplate 中 ,实现多数据源主要在于dataSource 的配置,以及spring bean 自动装配歧义性的处理 主要使用了 标识首选的bean @Primary 标签以及 限定自动装配的bean @Quali...

2018-11-18 12:46:48 807

原创 Spring JDBC Template ,以及使用preparedstatements传参数

JdbcTemplate 被定义为一个Spring 管理的bean 该bean 是线程安全的,并且可以被不同的数据访问对象所共享,因此被定义为单利,JdbcTemplate 的bean主要依赖项为一个DataSource 对象, 所以,需要把创建的dataSource 对象注入到JdbcTemplatspring 将数据访问的样本代码抽象到模板类中 spring 为JDBC 提供了两种类型...

2018-11-18 12:36:50 8877 3

原创 Spring JPA

Spring JPA 主要用于在Java处理持久化操作,它对企业级Java中所使用的ORM 特性和功能进行b标准化 ,分别定义了用来将对象模型映射到关系模型的API 可以在对象上执行CRUD 操作,一种对象查询语言以及通过对象图获取数据的标准API将对象模型映射到关系模型任何ORM 工具都将对象模型映射到关系模型,该映射是执行其他运行时操作的前提-- 比如执行CRUD 操作或使用一种对象查询语言...

2018-11-18 10:52:45 229

原创 Spring Boot 实现自定义错误页面

sprin 支持实现ErrorController 来自定义错误页面下面是具体代码的实现@Controllerpublic class CustomErrorController implements ErrorController { @Autowired private ErrorAttributes errorAttributes; private final ...

2018-10-27 11:42:20 255

原创 Spring Boot 单文件,多文件上传,以及将文件写入响应中

单文件上传配置文件设置@Componentpublic class MultipartConfig { @Bean public MultipartConfigElement multipartConfigElement(){ MultipartConfigFactory factory=new MultipartConfigFactory(); ...

2018-10-27 11:13:46 1297

原创 SpringBoot 使用 swagger 实现Rest Api 文档化

swagger 允许用户在一个html5 web 页面中,对API 进行文档化和交互优点:功能丰富 :支持多种注解,自动生成接口文档界面,支持在界面测试API接口功能;及时更新 :开发过程中花一点写注释的时间,就可以及时的更新API文档,省心省力;整合简单 :通过添加pom依赖和简单配置,内嵌于应用中就可同时发布API接口文档界面,不需要部署独立服务。实现 swagger 文档添加...

2018-10-25 16:47:44 283

原创 Spring Boot rest api 返回 XML 格式的数据

Spring Boot 默认返回json 格式的数据,Rest Api 可以根据用户请求头的不同 ,返回不同的媒体类型的响应(JSON XML 等)在默认的情况下,Spring 会安装应用所定义的内容协商策略解析正确的内容 (用户可以根据指定 Accept 头信息来返回不同类型的信息) 当我们需要返回xml格式的数据的时候,我们需要使用以下方式来实现REST 返回XML 格式数据的实现在需要...

2018-10-25 15:57:55 7502

原创 Spring MVC实现静态资源访问,viewcontroller,拦截器,路径匹配等配置

spring mvc 定制配置需要配置类继承 一个webmvcconfigureradapter ,通过重写这个类的方法,来完成常用的配置包括静态资源 , controller ,拦截器,路径匹配的配置等等具体代码如下@Componentpublic class WebMvcConfig extends WebMvcConfigurerAdapter { /** * 配...

2018-10-25 11:36:27 1703

翻译 Spring Boot 中使用thymeleaf 标签语言

thymeleaf 主要的标签和函数:th:text ="${xxx.xxx}" 关键字 $ 引用内存变量th:src =@{/xxx/xx} 使用@关键字 引用地址 ,既可以是绝对路径,也可以是相对路径th:value 设置输入框的值th:utext 和 th:text 区别在于针对“unescaped text” (保留文本)th:attr 设置标签属性th:if ...

2018-10-25 11:11:22 1447

原创 spring 请求参数的输入 以及表单数据校验

spring mvc 允许以多种方式将客户端中的数据传送到控制器的处理器方法中,包括以下几种查询参数表单参数路径参数1. 查询参数:使用@RequstParam 注解 声明参数名称和类型 。一般来说 spring boot 现在支持直接使用类型和参数名称 不需要使用注解2. 路径参数将参数放入需要提交的url 路径中 为了实现路径参数, spring 允许我们在requestMap...

2018-10-25 10:39:23 551

原创 Spring MVC相关的注解

@Conttoller是用来表示注解的类做为MVC 框架的一个controller 的主要注解 ,dispatcher servlet 扫描被@controller 注解的类,从而将web请求映射到被@requestmapping 注解的方法上。@Controllerpublic class AdviceController {}与Conttoller 类似的还有一个@RestCon...

2018-10-25 10:32:15 242

原创 Spring RestTemplate

RestTemplate是Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率。调用RestTemplate的默认构造函数,RestTemplate对象在底层通过使用java.net包下的实现创建HTTP 请求,可以通过使用ClientHttpRequestFactory指定不同的HTTP请求方式。下面是R...

2018-10-24 22:42:36 217

原创 Spring 条件注解(conditional)

Spring 的条件注解在于 :根据满足某一个特定条件创建一个特定的bean ,例如,当某个jar 包在一个类的路径下,自动配置一个或多个bean 或者只有某个bean 被创建才会创建另外一个bean 总的来说, 就是通过特定的条件来控制bean 的创建行为。主要是实现为两步首先 实现 condition 类 。重写 matchs 方法/** * Created by Sean on ...

2018-10-24 22:30:00 319

原创 spring 容器的自带事件以及 自定义事件

ApplicationEventspring 的事件是为bean与bean 之间的消息通信提供了支持,当一个bean 处理完一个任务后,希望另外一个bean 知道并能够做出相应的处理,这时需要另外一个bean监听当前bean 所发送的事件。ApplicationEvent以及Listener是Spring为我们提供的一个事件监听、订阅的实现,内部实现原理是观察者设计模式,设计初衷也是为了系统业...

2018-10-24 17:43:53 666

原创 Spring Bean 自动装配 的歧义性(bean 的名称重复)处理

在spring 中,spring 对于上下文的bean ,当自动装配时,如果bean 的名称相同,spring 无法做出选择 。这就所谓的bean 自动装配的歧义性。所以,当发现歧义性的时候,需要通过一些的方案来解决这个问题。 将可选bean 中的某个设置为首选(primary)的bean 或者使用限定符(qualifier) 来帮助spring选择需要的bean1. 标识首选的bean在...

2018-10-24 16:45:50 4566

原创 SpringBoot 值的注入以及 EL 表达式

spring 注入外部的值在spring 中 处理外部值的最简单的方式是通过声明属性源并且通过松日那个的 environment 来检索属性 通常是使用@PropertySource 引用文件名和文件路径 。 这样这个属性文件就会被加载到spring的environment中 在需要使用属性的地方通过调用 getProperty 来获取 environment 中的属性值 @Autow...

2018-10-24 16:35:09 9262

原创 spring 容器

spring 容器在基于spring的应用中,应用的对象生存于spring 容器中,容器负责创建和装配对象, 配置他们并且管理他们的整个声明周期。容器是spring 框架的核心,spring容器使用DI (依赖注入)管理构成应用的组建,他会创建相互协作的组建之间的关联spring 容器可以分为两种不同的类型 bean工厂,以及应用上下文。 其中 bean工厂是最简单的容器,提供基本的DI 支持...

2018-10-24 15:43:46 131

原创 springboot 定时任务Scheduled (注解方式实现) 参数 说明

spring boot 实现定时任务首先需要在配置类注解 @enablescheduling 来开启定时任务的支持,然后在要执行定时任务的方法上注解 @scheduled ,声明这是一个定时任务实现类的实现代码@Componentpublic class SpringScheduledTaskService { @Scheduled (fixedRate = 2000)

2018-02-01 10:28:59 6712

原创 spring boot 多线程

spring boot 通过任务执行器 taskexecutor 来实现多线程和并发编程。 使用threadpooltaskExecutor 可实现一个基于线程池的taskexecutor spring boot 要实现多线程 首先需要创建一个配置类@Configuration@EnableAsync //开启异步任务支持public class SpringTaskExecu

2018-02-01 10:21:30 2417

原创 spring IOC

控制反转(Inversion of Control,英文缩写为IoC)把创建对象的权利交给框架,是框架的重要特征,并非面向对象编程的专用术语。以前创建对象的主动权和创建时机是由自己把控的,而现在这种权力转移到第三方,比如转移交给了IoC容器,它就是一个专门用来创建对象的工厂,你要什么对象,它就给你什么对象,有了 IoC容器,依赖关系就变了,原先的依赖关系就没了,它们都依赖IoC容器了,通过Io

2018-02-01 10:12:54 216

原创 Spring 模块

核心容器:spring-core 核心工具类 spring- beans spring定义bean的支持 spring-context 运行时spring容器 spring-context-support spring 容器对第三方包的集成支持 spring-expression 使用表达式语言在运行时查询和操作对象AOPspring-aop 基于代理的aop支持 spr

2018-02-01 10:07:01 196

原创 HTML 对enter键做监听 (Java web)

当对input框输入参数后,有的时候希望直接按enter键就可以执行需要做的操作,这其实是对键盘的enter键做监听,具体实现如下:首先 在Html的 中加入下面代码(这一步骤很重要)body onkeydown="enterSubmit(event)"> enterSubmit 是当按键后操作的具体实现: function enterSubmit(obj) {

2018-01-15 17:46:17 2846

原创 使用JAVA executor实现TCP 网络通讯

在使用线程池实现TCP服务端的时候,线程池的大小是个很重要的因素: 如果创建的线程太多(空闲线程太多),则会消耗系统资源,如果创建的线程太少,客户端还是有可能等很长时间才能获得服务。因此,线程池的大小设置需要根据负载情况进行调整,以使客户端连接的时间最短,理想的情况是有一个调度的工具,可以在系统负载增加时扩展线程池的大小(低于大上限值),负载减轻时缩减线程池的大小。这就可以使用Java中的Exe

2018-01-15 09:49:25 314

原创 基于线程池的TCP服务器(JAVA实现)

在开始的tcp/ip socket中 服务端实现方式是一个客户端一个线程,但是,每个新的线程都会消耗系统资源。随着线程数的增加。线程将消耗越来越多的系统资源。 对于这个问题,使用线程池限制线程总数并重复使用线程可以避免这个问题, 具体做法是,在服务器启动时创建一个有固定线程数量组成的线程池,当一个新的客户端连接请求连入服务器时,将由线程池中的一个线程处理,该线程处理完这个客户端之后又返回线程池

2018-01-15 09:45:10 3988

原创 Java 实现TCP网络编程

在TCP Socket编程中,客户端有多个,而服务器端只有一个,由客户端TCP向服务器端TCP发送连接请求,服务器端的ServerSocket实例则监听来自客户端的TCP连接请求,并为每个请求创建新的Socket实例 由于服务端在调用accept()等待客户端的连接请求时会阻塞,直到收到客户端发送的连接请求才会继续往下执行代码,因此要为每个Socket连接开启一个线程。服务器端要同时处理Serv

2018-01-12 16:38:12 582

原创 UDP网络通讯(JAVA 实现)

UDP协议提供的服务不同于TCP协议的端到端服务,由于每个数据报中都给出了完整的地址信息,因此无需要建立发送方和接收方的连接。所以它是非连接的,属不可靠协议 因为UDP是非连接的,所以UDP服务端不需要等待客户端的请求以建立连接。另外,UDP服务器为所有通信使用同一套接字,这点与TCP服务器不同,TCP服务器则为每个成功返回的accept()方法创建一个新的套接字。 UDP客户端被动的向等待

2018-01-12 16:27:11 405

原创 百度echarts 在柱状图 折线图 饼图上 显示y轴对应的数据 以及 图形是否能够拖动的设置

对echart 图标y 轴的数据进行显示。 主要时在 series 加入 itemStyle: { normal: {label : {show: true ,position: ‘inside’}}},就可以显示Y 轴的数据了,具体操作如下:折线图:series: [ { name: 'xx', type: 'line', itemSt

2018-01-05 14:02:02 6017

原创 百度Echarts 取消无数据时的气泡显示

对于 echarts 在无数据的时候默认显示的界面 ,显示的气泡可能并不是很合适业务需求,Echarts 对于这个问题给了解决方法; 使用一下代码就可以解决 noDataLoadingOption: { text: '无数据', effect: 'bubble',

2018-01-05 12:07:15 5994 4

原创 Oracle数据库 根据时间范围 查询 时间范围内的 年 ,月, 日 以及 一天的24小时 (SQL 语句)

查询时间范围内对应的年SELECT TO_CHAR ( ADD_MONTHS ( TO_DATE ('2013', 'yyyy'), (ROWNUM - 1) * 12 ), 'yyyy' ) AS yearsFROM DUAL CONNECT BY ROWNUM <=

2018-01-05 11:50:28 3539

原创 JVM 内存分配与回收策略

Java 中,对象的内存分配,大的方向讲,就是在堆上分配。对象主要分配在新生代的eden区上。内存分配规则:大多数情况,内存在新生代eden区中分配,当eden区没有足够空间进行分配的时候,虚拟机将发起一次minor GC 大对象直接进入老年代

2017-12-21 10:11:15 376

原创 Java虚拟机对象创建及其内存分配

对象的创建:当遇到new 指令后 , 首先检查这个指令的参数是否能在常量池中定位到一个类的符号引用。并检查这个符号引用是否被加载,解析,初始化,如果没有,就需要先进行类加载当类加载通过后,进行内存分配内存分配完毕后,虚拟机需要将分配到的内存空间初始化为零值虚拟机对对象进行对象头进行设置进行init 初始化对象中的内存分配对象在内存中村粗的布局分为 对象头,实例数据,和对齐填充 对象头:包括两部分

2017-12-21 10:07:54 288

原创 Java 虚拟机永久代的垃圾收集

永久代中的垃圾收集主要回收两个部分内容: 废弃常量和无用类常量的回收: 当系统中没有任何常量对象引用常量池中的常量,也没有其他敌法引用这个字面量,如果发生内存回收,必要的话, 没有使用的常量将会被系统清理出常量池什么叫做无用类: 判断一个类是否是无用类的条件有三个:1,该类的所有实例都已经被回收,也就是Java堆中不存在该类的任何实例 2, 加载该类的class loader 已经被回收 3

2017-12-15 17:10:40 1302

原创 修改centos源为阿里云源

1.备份源文件sudo mkdir /opt/centos-yum.bak sudo mv /etc/yum.repos.d/* /opt/centos-yum.bak/2.查看centos 版本号cat /etc/redhat-release3.在阿里云镜像库找到符合自己centos版本的镜像源(以下操作都是在sudo 下进行的)CentOS 5wget -O /etc/yum.repos.

2017-12-15 11:27:42 467

原创 使用(jquery) 实现select 对option 的动态选中

在对option 根据不同数据进行动态选中时,在网上查看资料发现很多都是使用 jQuery 的attr 方法来进行选中,实现代码如下$("#id option[value='value']").removeAttr("selected");//根据值去除选中状态 $("#id option[value='"+data+"']").attr("selected","selected"); //根据值让

2017-12-14 14:37:51 821

空空如也

空空如也

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

TA关注的人

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