Spring入门学习笔记(4)——JDBC的使用
目录
Spring JDBC框架概览
JdbcTemplate类
配置数据源
数据访问对象(Data Acce Object,DAO)
执行SQL命令
Spring JDBC框架概览
使用传统的JDBC连接数据库,需要编写不必要的代码来处理异常、打开和关闭数据库连接等变得非常麻烦。然而,...[2018/10/18]
文本聊天室(TCP-中)
每天一张图,精神一下午...
好吧,开始我们今天的代码实现,我们接着上一回,上回实现了服务器的代码(在完成工作后,铁定要改..)
这次实现客户端的UI(界面)层,至于逻辑处理留给明天吧
因为我还没学html,所以委屈大家了,不好意思,界面有些丑陋.
我们界面...[2018/10/18]
Why do collection classes appear
package com.itheima_01;
import java.util.ArrayList;
/*
* 为什么会出现集合类:
* 我们学习的是面向对象编程语言,而面向对象编程语言对事物的描述都是通过对象来体现的。
* 为了方便对多个对象进行操作...[2018/10/18]
java servlet的执行流程java servlet的执行流程
1、先附上代码如下
Servlet1.java
public cla Servlet1 implements Servlet {
@Override
public void init(ServletConfig config) throws ServletException...[2018/10/18]
也谈Reactor模式
何谓Reactor模式?它是实现高性能IO的一种设计模式。网上资料有很多,有些写的也很好,但大多不知其所以然。这里博主按自己的思路简单介绍下,有不对的地方敬请指正。
BIO
Java1.4(2002年)以前,IO都是Blocking的,也就是常说的BIO,它在等待请求、读、写(返回)三个环节...[2018/10/18]
挑战常规--这样写单例是错的!
说到单例,网上教程和很多人信手拈来:
public cla Single
{
private volatile static Single instance;
private Single()
{
System.out.println("创建单例");
}
public s...[2018/10/18]
scala集合与java集合的转换应用
今天在业务开发中遇到需要Scala集合转为Java集合的场景;
因为业务全部是由Scala开发,但是也避免不了调用Java方法的场景,所以将此记录下来加深记忆;
import scala.collection.JavaConverters._ 需要导入这个包
val javaR...[2018/10/17]
springboot集成邮件服务springboot集成邮件服务
一、前言
Spring Email 抽象的核心是 MailSender 接口,MailSender 的实现能够把 Email 发送给邮件服务器,由邮件服务器实现邮件发送的功能。
Spring 自带了一个 MailSe...[2018/10/17]
springboot伪静态
在日常网站访问中,会把动态地址改造成伪静态地址。
例如: 访问新闻栏目 /col/1/,这是原有地址,如果这样访问,不利于搜索引擎检索收录,同时安全性也不是很好。
改造之后:
/col/1.html。
改造方法:
1.添加urlrewritefilter
<dependenc...[2018/10/17]
持续集成jinkens构建+git提交时构建
安装相关插件
打开具体项目配置
登录gitlab打开具体项目
url格式是:http: +jinkens用户名+:+jinkens用户的token+@+jinkens地址+/jenkin job/构建的项目名/build?token=+jink...[2018/10/17]
git实用操作
git是分布式版本控制系统,无需联网,自身有完整的版本库,有极其强大的分支管理。
初始化文件夹:git init
添加git管理文件:git add
提交 git commit -m "备注"
查看工作区的状态 git status
查看工作区修改内容 git diff
查看历史 g...[2018/10/17]
ApplicationContextInitializer接口
一、简述
ApplicationContextInitializer是Spring框架原有的概念, 这个类的主要目的就是在 ConfigurableApplicationContext类型(或者子类型)的ApplicationContext做refresh之前,允许我们 对Configurable...[2018/10/17]
ZAB协议(Zookeeper atomic Broadcast)ZAB协议(Zookeeper atomic Broadcast)
一、简语:
ZAB协议是Paxos算法的经典实现
二、ZAB协议的两种模式:
1.崩溃恢复:
1.每个server都有一张选票(myid,zxid),选票投给自己
2.收集所有server的投票
3.比较投票(逻辑:优先比较zxid,选出zxid最大的,其次比较myid)
4.改变服...[2018/10/17]
【资源分享】ArcFace Demo [Android]
虹软人脸识别引擎Android的Demo演示,可以直接下载使用。
下载地址: https: github.com/asdfqwrasdf/ArcFaceDemo
readme:
工程如何使用?
下载代码: git clone https: git...[2018/10/17]
自动生成中小学数学题目的控制台小程序自动生成中小学数学题目的控制台小程序
前段时间写了一个自动生成中小学数学题目的控制台小程序
下面简要介绍一下我这次的一个开发过程
需求:
1、命令行输入用户名和密码,如果用户名和密码都正确,提示输入小学、初中和高中三个选项中的一个,否则提示“请输入正确的用户名、密码”;
2、命令行输入小学、初中和高中的选项之一...[2018/10/17]
Java GC机制详解
垃圾收集 Garbage Collection 通常被称为“GC”,本文详细讲述Java垃圾回收机制。 导读: 1、什么是GC 2、GC常用算法 3、垃圾收集器 4、finalize()方法详解 5、总结--根据GC原理来优化代码 正式阅读之前需要了解相关概念: Java 堆内存分为新生代和老年代...[2018/10/17]
5.6(java学习笔记) queue5.6(java学习笔记) queue
一.queue接口
queue的中文意思是队列,是一种以先进先出方式处理数据的集合。
队列还提供额外的插入、提取和检查操作。这些方法都以两种形式存在:一种在操作失败时抛出异常,另一种返回特殊值(根据操作,为空或为假)。
后一种形式的插入操作是专门针对容量受限的队列实现...[2018/10/17]
如何修改tomcat命令黑窗口的名字如何修改tomcat命令黑窗口的名字
一、为什么要修改tomcat黑窗口的名字 同时启动多个tomcat时,不好区分,而给tomcat的命令窗口取名区分是个不错的选择,例如下面这个效果。 二、修改的方法 1.找到tomcat的bin目录下的catalina.ba...[2018/10/17]
Maven集成SSM
目录
Maven 集成SSM
添加log4j配置文件
配置web.xml
添加编码过滤器
添加put和delete请求
配置springmvc.xml
配置文件上传
配置druid连接池信息
配置sqlSe ionFactory
Mybatis映射文件
配置事务
Maven 集成SSM
...[2018/10/17]
spring入门(八) spring mvc设置默认首页
1.web.xml配置如下
1 <!DOCTYPE web-app PUBLIC
2 "- Sun Microsystems, Inc. DTD Web Application 2.3 EN"
3 "http: java.sun.com/dtd...[2018/10/17]
Java开发笔记(十)一元运算符的技巧
前面讲到赋值运算符的时候,提到“x = x+7”可以被“x += 7”所取代,当然Java编程中给某个变量自加7并不常见,常见的是给某变量自加1,就像走台阶,一般都是一级一级台阶地走,犯不着一下子跳上七级台阶。那么对于变量自加1的情况,既可以写成“x = x+1”,也可以写成“x += 1”,但是...[2018/10/17]
文本聊天室(TCP)
以流式的Socket实现面向连接的TCP服务
一.功能要求
1.用户可以选择聊天服务器进行登录.
2.用户使用用户名登录到聊天室,这个登录名就是用户在聊天
室的昵称.
3....[2018/10/17]
Java函数调用总结
思考:1.方法能不能写方法 2.为什么不能写 public static void main(String[] args) {
public static void name(){};
}
方法中不能直接定义方法,但可以在方法中定义类,类里面再定义方法: Ja...[2018/10/17]
【JAVA】分层
domain层
domain层
domain层
domain层
domain层
domain层
controller层
controller层
controller层
controller层
controller层
controller层
一个人来到田纳西
毫...[2018/10/17]
Java并发(9)- 从同步容器到并发容器
引言
容器是Java基础类库中使用频率最高的一部分,Java集合包中提供了大量的容器类来帮组我们简化开发,我前面的文章中对Java集合包中的关键容器进行过一个系列的分析,但这些集合类都是非线程安全的,即在多线程的环境下,都需要其他额外的手段来保证数据的正确性,最简单的就是通过synchronize...[2018/10/17]
详解Java中的实例初始化块(IIB)
在 Java 语言中的类初始化块 文章中我们简单的介绍了下 Java 中的实例初始化块 ( IIB )。不过我觉得介绍的有点简单了,于是,再写一篇文章详细介绍下吧。 Java 语言中,存在三种操作:方法 、构造函数 和 初始化块。 其中初始化块又分为 实例初始化块 ( IIB ) 和 静态初始化块...[2018/10/17]
详解SpringCloud Gateway之过滤器GatewayFilter
在Spring-Cloud-Gateway之请求处理流程文中我们了解最终网关是将请求交给过滤器链表进行处理,接下来我们阅读Spring-Cloud-Gateway的整个过滤器类结构以及主要功能 通过源码可以看到Spring-Cloud-Gateway的filter包中吉接口有如下三个,Gatewa...[2018/10/17]
第56节:ArrayList,LinkedList和String第56节:ArrayList,LinkedList和String
import java.util.ArrayList;
public cla Demo{
public static void main(String[] args) throws Exception {
ArrayList<Integer> arrayList = ne...[2018/10/16]
吐血整理 20 道 Spring Boot 面试题,我经常拿来面试别人!
面试了一些人,简历上都说自己熟悉 Spring Boot, 或者说正在学习 Spring Boot,一问他们时,都只停留在简单的使用阶段,很多东西都不清楚,也让我对面试者大失所望。
下面,我给大家总结下有哪些 Spring Boot 的面试题,这是我经常拿来问面试者的,希望对你有帮助。
1、什...[2018/10/16]
JVM命令-java服务器故障排查JVM命令-java服务器故障排查
一、top(Linux命令) 执行top命令: (查看进程15477的详细情况,下文用到) 系统信息(前五行): 第1行:Top 任务队列信息(系统运行状态及平均负载),与uptime命令结果相同。 系统平均负载:单核CPU情况下,0.00 表示没有任何...[2018/10/16]
java内部类的格式和访问规则
1.内部类的定义
定义一个类来描述事物,但是这个事物其中可能还有事物,这时候在类中再定义类来描述。
2.内部类访问规则
&nbs...[2018/10/16]
Mybait缓存机制(四)Mybait缓存机制(四)
MyBatis同大多数ORM框架一样,提供了一级缓存和二级缓存的支持。
一级缓存:其作用域为se ion范围内,当se ion执行flush或close方法后,一级缓存会被清空。
二级缓存:二级缓存和一级缓存机制相同,但是可以自定义其作用范围,如Ehcache。
一级缓存
在默认情...[2018/10/16]
Java多线程——之一创建线程的四种方法 - sun-sailing
1.实现Runnable接口,重载run()
public cla ThreadRunnable implements Runnable {
public void run() {
for (int i = 0; i < 10; i++) {
...[2018/10/16]
FALCON: An Optimizations Java JIT
Falcon是一个基于LLVM的Java JIT (Just-In-Time)编译器,也是Azul Zing JVM的默认JIT编译器。作为资深的JIT开发者,Reames极力推崇基于LLVM来做Java JIT编译器,毕竟LLVM的稳定性得到了大范围的验证,有非常活跃的开发者社区,各种新的微架构...[2018/10/16]
Java JDK动态代理Proxy类的原理是什么? - 知乎(重排版)
本文转载自知乎问题Java JDK动态代理Proxy类的原理是什么?下用户@胖君回答
什么是代理?
先从代理开始讲。
代理这种设计模式其实很好理解,基本就是最简单的一个 “组合”。比如说下面这个例子,我们有 A 这个类,本来可以直接调用 A 类的 foo() 方法。但代理模式就非要...[2018/10/16]
流
什么是java序列化?如何实现java序列化?
序列化就是用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以将流化后的对象进行读写操作,也可以将流化后的对象传输与网络之间。序列化就是为了解决在对对象流进行读写操作时引发的问题;
序列化的实现:将需要被序列化的...[2018/10/16]
5.5(java学习笔记)TreeSet和TreeMap
1.TreeMap
TreeMap是可排序的Map类,使用这个类时,TreeMap会对存放的数据进行排序。
排序是根据key来排序的,排序规则是key实现comparable接口中的compareTo()方法
或指定一个排序规则类实现comparator接口中的compare()方法,...[2018/10/16]
Java编程题(1):n个数里出现次数大于等于n/2的数 - yjry-th
题目描述:输入n个整数,输出出现次数大于等于数组长度一半的数。
输入描述:每个测试输入包含 n个空格分割的n个整数,n不超过100,其中有一个整数出现次数大于等于n/2。
输出描述:输出出现次数大于等于n/2的数。
输入示例:3 9 3 2 5 6 7 3 2 3 3 3
输出示例:3
...[2018/10/16]
java工程打jar包
下面记录一下打jar包的方法
对于含有第三方jar的工程需要写MANIFEST.MF文件,文件结构如下:
1 Manifest-Version: 1.0
2 Cla -Path: lib/dom4j-2.0.2.jar lib elenium-server-standalone-2.50.1...[2018/10/16]
Java进阶篇设计模式之八 ----- 责任链模式和命令模式
前言
在上一篇中我们学习了结构型模式的享元模式和代理模式。本篇则来学习下行为型模式的两个模式, 责任链模式(Chain of Responsibility Pattern)和命令模式(Command Pattern)。
责任链模式
简介
责任链模式顾名思义,就是为请求创建了一个接收者对象的链...[2018/10/16]
Java基础教程(9)--流程控制Java基础教程(9)--流程控制
一.分支结构
1.if语句
??if语句会与其后的第一条语句或代码块结合,且只有当判断条件为true时才执行语句或代码块。例如,自行车只有在运动的时候才可以减速,就像下面这样:
void applyBrakes() {
if (isMoving){
currentSpe...[2018/10/16]
maven创建web工程maven创建web工程
一,前言
maven 是一个项目管理工具。可以用来管理jar包依赖,构建项目等。
那么接下来,就在eclipse中使用maven创建一个简单的web项目。
二,依次点击File-> New -> Other,选择 Maven Project。然后Next.
三,直接点击Ne...[2018/10/16]
Memory map of an object array
Student类:
package com.itheima;
/*
* 自动生成构造方法:
* 代码区域右键 -- Source -- Generate Constructors from Supercla ... 无参构造方法
* 代码区域右键 --...[2018/10/16]
CommandLineRunner预加载数据
在使用SpringBoot构建项目时,我们通常有一些预先数据的加载。那么SpringBoot提供了一个简单的方式来实现–CommandLineRunner。
CommandLineRunner是一个接口,我们需要时,只需实现该接口就行。如果存在多个加载的数据,我们也可以使用@Order注解来排序...[2018/10/16]
数据库操作之DBUtils
概述
DBUtils是Java编程中的数据库操作实用工具,小巧简单实用。
DBUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代码。
DBUtils三个核心功能介绍
QueryRunner中提供对sql语句操作的API
ResultSetHandler接口,用于定...[2018/10/16]
SSM框架整合篇
目录
SSM整合
框架搭建步骤
SSM整合
Author:SimpleWu
github(已上传SSMrest风格简单增删该查实例):https: gitlab.com/450255266/code/
目前Spring+SpringMVC+Mybatis是一套非常流行的配套开发框架...[2018/10/16]
在SpringBoot中添加Redis及配置方法
在实际的开发中,会有这样的场景。有一个微服务需要提供一个查询的服务,但是需要查询的数据库表的数据量十分庞大,查询所需要的时间很长。 此时就可以考虑在项目中加入缓存。 引入依赖 在maven项目中引入如下依赖。并且需要在本地安装redis。 <dependency>
&nb...[2018/10/16]
Java基础教程(7)--运算符
??现在,我们已经学会了如何声明和初始化变量,但你可能想知道如何操作它们。运算符是对一个,两个或三个操作数执行特定操作并返回结果的特殊符号。下表列出了Java中的运算符:
??表格中的运算符是按照从上到下优先级依次降低的顺序列出的。优先级较高的运算符在优先级相对较低的运算符之前进行求值。同一...[2018/10/15]
spring-boot-maven-plugin 插件
添加了spring-boot-maven-plugin插件后,当运行maven打包的命令,项目会被打包成一个可以直接运行的jar包,使用"java -jar"可以直接运行。
当项目中有两个启动类时,需要制定要执行的类,如果不指定,启动会报错。
指定启动类有两种情...[2018/10/15]