Spring Boot 系列教程4-JDBC】的更多相关文章

需求 需要对一个页面进行数据抓取,并导出doc文档 html解析器 jsoup 可直接解析某个URL地址.HTML文本内容.它提供了一套非常省力的API,可通过DOM,CSS以及类似于JQuery的操作方法来取出和操作数据. htmlparser 提供了线性和嵌套两种方式来解析网页,主要用于 html 网页的转换(Transformation) 以及网页内容的抽取 (Extraction). 比较一下 jsoup可以直接拿,类似jquery的选择器一样用起来比较好上手.htmlparser结构简…
后台验证 开发项目过程中,后台在很多地方需要进行校验操作,比如:前台表单提交,调用系统接口,数据传输等.而现在多数项目都采用MVC分层式设计,每层都需要进行相应地校验. 针对这个问题, JCP 出台一个 JSR 303-Bean Validation规范 ,而Hibernate Validator 作为Bean Validation的参考实现,提供了JSR 303规范中所有内置constraint的实现,除此之外还有一些附加的constraint. Hibernate Validation的使用…
Java操作pdf框架 iText是一个能够快速产生PDF文件的java类库.iText的java类对于那些要产生包含文本,表格,图形的只读文档是很有用的.它的类库尤其与java Servlet有很好的给合.使用iText与PDF能够使你正确的控制Servlet的输出. http://itextpdf.com/ 最终下载效果 pom.xml <!-- itext方式导出pdf --> <dependency> <groupId>com.lowagie</group…
缓存 缓存就是数据交换的缓冲区(称作Cache),当某一硬件要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存中找.由于缓存的运行速度比内存快得多,故缓存的作用就是帮助硬件更快地运行. 因为缓存往往使用的是RAM(断电即掉的非永久储存),所以在用完后还是会把文件送到硬盘等存储器里永久存储.电脑里最大的缓存就是内存条了,最快的是CPU上镶的L1和L2缓存,显卡的显存是给显卡运算芯片用的缓存,硬盘上也有16M或者32M的缓存. Spring3.1开始引入了对Cach…
internationalization(i18n) 国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式. 它要求从产品中抽离所有地域语言,国家/地区和文化相关的元素. 换言之,应用程序的功能和代码设计考虑在不同地区运行的需要,其代码简化了不同本地版本的生产. 开发这样的程序的过程,就称为国际化. 数据国际化 * 关键的思路是从请求作用域获取locale,然后查询对应的数据* 中文语言数据页面:只有中文数据 英文语言数据页面:只有英文数据 浏览器切…
internationalization(i18n) 国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式. 它要求从产品中抽离所有地域语言,国家/地区和文化相关的元素. 换言之,应用程序的功能和代码设计考虑在不同地区运行的需要,其代码简化了不同本地版本的生产. 开发这样的程序的过程,就称为国际化. 中文语言页面 英文语言页面 浏览器切换中文,英文 Application.java package com.jege.spring.boot; impo…
动态修改定时任务cron参数 不需要重启应用就可以动态的改变Cron表达式的值 不能使用@Scheduled(cron = "${jobs.cron}")实现 DynamicScheduledTask.java package com.jege.spring.boot.task; import java.text.SimpleDateFormat; import java.util.Date; import org.springframework.beans.factory.annot…
Java操作excel框架 Java Excel俗称jxl,可以读取Excel文件的内容.创建新的Excel文件.更新已经存在的Excel文件,现在基本没有更新了 http://jxl.sourceforge.net/ Apache POI是Apache基金组织Jakarta项目的子项目,它包括一系列的API,可以操作多种格式的Microsoft Office文件,通过这些API使Java更方便的操作Excel.Word等格式的Office文件 http://poi.apache.org/ Ea…
freemarker FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页.电子邮件.配置文件.源代码等)的通用工具. 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件. FreeMarker是免费的,基于Apache许可证2.0版本发布.其模板编写为FreeMarker Template Language(FTL),属于简单.专用的语言.需要准备数据在真实编程语言中来显示,比如数据库查询和业务运算, 之后模板…
前后端分离的必要 现在的趋势发展,需要把前后端开发和部署做到真正的分离 做前端的谁也不想用Maven或者Gradle作为构建工具 做后端的谁也不想要用Grunt或者Gulp作为构建工具 前后端需要通过接口来协作 可能是JSON格式的RESTFul的接口 可能是XML的接口 重点是后台只负责数据的提供和处理,而完全不处理展现 而前端则负责拿到数据,组织数据并开始展现的工作 Swagger Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总…
edatagrid扩展组件 edatagrid组件是datagrid的扩展组件,增加了统一处理CRUD的功能,可以用在数据比较简单的页面. 使用的时候需要额外引入jquery.edatagrid.js 为了能够把后台自动捕获的异常显示到前台这里必须使用最新版本的jquery.edatagrid.js文件 可以直接在数据表格里面进行CRUD 列表 新增 修改 删除 删除异常 项目图片 AjaxResult.java,改变输出属性适应edatagrid.onError方法 package com.j…
jQueryEasyUI jQuery EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面.开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要了解的只有一些简单的html标签. 案例使用EasyUI插件 datagrid:向用户展示列表数据. dialog:创建或编辑一条单一的用户信息. form:用于提交表单数据. messager:显示一些操作信息. 对use…
JDBC Java Data Base Connectivity,是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成.不管是Hibernate,还是JPA或者MyBatis都是对JDBC做了一次封装. Spring简化了JDBC那些内容 Spring JDBC抽象框架所带来的价值将在以下几个方面得以体现:(注:使用了Spring JDBC抽象框架之后,应用开发人员只需要完成斜体字部分的编码工作.) - 定义数据库连接参数 - 打…
MyBatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache 迁移到了google code,并且改名为MyBatis .2013年11月迁移到Github. 集成spring boot 的时候必须在mapper接口上面标注@Mapper注解 项目图片 pom.xml -只需要在pom.xml引入需要的数据库配置,就会自动访问此数据库,如果需要配置其他数据库,可以在application.properties进行添加 -默认使用org.apach…
Spring Data JPA 用来简化创建 JPA 数据访问层和跨存储的持久层功能. 官网文档连接 http://docs.spring.io/spring-data/jpa/docs/current/reference/html/ Spring Data JPA提供的接口 Repository:最顶层的接口,是一个空的接口,目的是为了统一所有Repository的类型,且能让组件扫描的时候自动识别 CrudRepository :是Repository的子接口,提供CRUD的功能 Pagin…
一.创建项目         项目名称为 "springboot_mybatis_demo",创建过程中勾选 "Web","MyBatis","MySQL",第一次创建Maven需要下载依赖包(耐心等待)         二.实现 2.1创建User类 package com.woniu.bean; public class User { private long id; private String name; privat…
注解 @Scheduled(cron = "0/5 * * * * ?") 相当于原来的xml版本的如下配置 <task:scheduled ref="scheduledTask" method="getTask1" cron="0/5 * * * * ?" /> ScheduledTask package com.jege.spring.boot.task; import java.text.SimpleDate…
@ControllerAdvice源码 package org.springframework.web.bind.annotation; import java.lang.annotation.Annotation; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.anno…
devtools模块 devtools模块,是为开发者服务的一个模块.主要的功能就是代码修改后一般在5秒之内就会自动重新加载至服务器,相当于restart成功. 原理 简单原理 在发现代码有更改之后,自动重新启动应用,但是其速度比手动停止后再启动还要快些,更快这里指的不是节省出来的手工操作的时间. 底层原理:双类加载器机制 一个Base ClassLoader加载器,用于加载不会改变的第三方依赖的jar: 另一个Restart ClassLoader加载器,用于加载自己编写的类: 执行流程:当应…
入门 如果你用过Spring JavaConfig的话,会发现虽然没有了xml配置的繁琐,但是使用各种注解导入也是很大的坑, 然后在使用一下Spring Boot,你会有一缕清风拂过的感觉, 真是爽的不得了... 官方介绍 创建独立的Spring applications 能够使用内嵌的Tomcat, Jetty or Undertow,不需要部署war 提供starter pom来简化maven配置 自动配置Spring 提供一些生产环境的特性,比如metrics, health checks…
前言 上一篇文章介绍了spring boot集成单点的redis,然而实际生产环境使用单点的redis风险很高,一旦宕机整个服务将无法使用,这篇文章介绍如何使用基于sentinel的redis高可用方案. 哨兵sentinel的地址如下: 192.168.12.194:26379 192.168.12.194:36379 192.168.12.194:46379   Redis的地址如下: 192.168.12.194:6379 192.168.12.194:6380 192.168.12.19…
一.前言 上篇博客中介绍了spring boot集成mybatis的方法,基于上篇文章这里主要介绍如何使用分页插件PageHelper.在MyBatis中提供了拦截器接口,我们可以使用PageHelp最为一个插件装入到SqlSessionFactory,实现拦截器功能. 二.实现 pom.xml文件中添加依赖包 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelp…
一.创建项目         项目名称为 “springboot_mybatis_demo”,创建过程中勾选 “Web”,“MyBatis”,“MySQL”,第一次创建Maven需要下载依赖包(耐心等待)         二.实现 2.1创建User类 package com.woniu.bean; public class User { private long id; private String name; private int age; public long getId() { re…
一.前言  spring boot支持的日志框架有,logback,Log4j2,Log4j和Java Util  Logging,默认使用的是logback日志框架,笔者一直在使用log4j2,并且看过某博主写的一篇这几个日志框架的性能比对,决定仍使用log4j2,本文章主要介绍spring boot集成log4j2日志框架.     二.集成log4j2       创建名称为“springboot_log4j2”的工程,打开pom.xml文件,去除logback的依赖包,添加log4j2的…
一.前言 Eclipse下使用spring-tool-suite插件创建一个spring boot 工程,通过右键“Run As”--->"Spring Boot App"来启动工程,这时当我们对工程的内容进行修改的时候,需要重新操作刚才的步骤来重启功能,为提高开发效率,我们可以通过使用devtools来实现热部署,修改内容后直接重新加载启动.   二.启动devtools 创建一个springboot_devtools_demo工程,工程创建完成后,鼠标放在工程目录上点击右键“…
一.创建工程 创建名称为"springboot_helloworld"的spring boot工程, new->Spring Starter Project,直接上图         点击“Finish”后需要耐心等待,这时Maven会自动下载所需spring boot的依赖包.所有的依赖如下:                        二.开始编码 2.1 新建WebController import org.springframework.web.bind.annotat…
自签证书 openssl生成服务端证书,不使用CA证书直接生成 -in server.csr -signkey server.key -out server.crt # 5.server证书转换成keystore文件: openssl pkcs12 -export -in server.crt -inkey server.key -out keystore.p12 -name tomcat 配置properties 把keystore.p12文件放到resources中 配置applicatio…
前言 上一篇文章介绍了spring boot集成单点的redis,然而实际生产环境使用单点的redis风险很高,一旦宕机整个服务将无法使用,这篇文章介绍如何使用基于sentinel的redis高可用方案. 哨兵sentinel的地址如下: 192.168.12.194:26379 192.168.12.194:36379 192.168.12.194:46379 Redis的地址如下: 192.168.12.194:6379 192.168.12.194:6380 192.168.12.194:…
一.创建项目 项目名称为 "springboot_redis",创建过程中勾选 "Web","Redis",第一次创建Maven需要下载依赖包(耐心等待) 二.实现 properties配置文件中添加配置信息 ##########redis############ #redis的IP地址 spring.redis.host=localhost #redis的端口 spring.redis.port=6379 #redis的密码 spring.re…
一.前言 上篇博客中介绍了spring boot集成mybatis的方法,基于上篇文章这里主要介绍如何使用分页插件PageHelper.在MyBatis中提供了拦截器接口,我们可以使用PageHelp最为一个插件装入到SqlSessionFactory,实现拦截器功能. 二.实现 pom.xml文件中添加依赖包 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelp…