junit,面向切面开发(动态代理),工厂设计模式,数据库连接池
1。junit
junit又叫单元测试,好处是能进行批量测试,而且如果方法出现了问题能立刻定位出出现问题的方法,还有一个好处是感官效果很好,如果方法都通过了则显示绿条,否则显示红条
TestCase.assertTrue(b);//断言参数是否为true
TestCase.assertNotNull(emp);断言参数是否为空
2.面向切面开发
所谓的面向切面开发就是针对指定的方法可以在该方法执行前或执行后织入一些辅助性的的代码;
主要涉及到proxy,invocationhanlder;
3.注解
今天老师讲的注解的应用,我的理解:注解相当于一个锚点,用来辅助判断是否是特定的方法,如果是手动加上自定义注解,程序可以判断是否有注解,如果有就执行特定的流程。
4.工厂设计模式
将对象的实例化过程分装到“工厂”中,客户端不关注对象的实例化过程。
工厂中设计一个方法 getinstance。。。
5.数据库连接池
对于一个复杂的数据库应用,需要频繁的建立关闭连接会极大影响系统的性能,此时可以在程序启动的时候创建指定数量的连接保持到连接池里面,之后要使用连接的时候直接从池中取得;
package cn.sxt.mvcpro.util; import java.sql.Connection;
import java.sql.SQLException; import com.alibaba.druid.pool.DruidDataSource; public class DBUtil {
private static DruidDataSource dataSource = new DruidDataSource();
static {
dataSource.setUrl("jdbc:mysql://localhost:3306/demo?useSSL=true&useUnicode=true&characterEncoding=UTF-8");
dataSource.setUsername("root");
dataSource.setPassword("mima");
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setInitialSize(2);
dataSource.setMaxActive(20);
dataSource.setMaxWait(3000);
} public static Connection getConnection() {
try {
return dataSource.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
return null;
} public static void close(Connection conn) {
try {
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
junit,面向切面开发(动态代理),工厂设计模式,数据库连接池的更多相关文章
- 关于利用动态代理手写数据库连接池的异常 java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to java.sql.Connection
代码如下: final Connection conn=pool.remove(0); //利用动态代理改造close方法 Connection proxy= (Connection) Proxy.n ...
- Junit 注解 类加载器 .动态代理 jdbc 连接池 DButils 事务 Arraylist Linklist hashset 异常 哈希表的数据结构,存储过程 Map Object String Stringbufere File类 文件过滤器_原理分析 flush方法和close方法 序列号冲突问题
Junit 注解 3).其它注意事项: 1).@Test运行的方法,不能有形参: 2).@Test运行的方法,不能有返回值: 3).@Test运行的方法,不能是静态方法: 4).在一个类中,可以同时定 ...
- Java基础面试操作题:Java代理工厂设计模式 ProxyFactory 有一个Baby类,有Cry行为,Baby可以配一个保姆 但是作为保姆必须遵守保姆协议:能够处理Baby类Cry的行为,如喂奶、哄睡觉。
package com.swift; public class Baby_Baomu_ProxyFactory_Test { public static void main(String[] args ...
- 动态代理写connection连接池Demo
public class JdbcUtil2 { //声明连接池<放到LinkedList中,操作其中对象的速度快 只需要改变连接> private static LinkedList&l ...
- 【数据库开发】如何创建MySQL数据库连接池(一个基于libmysql的MySQL数据库连接池示例(C/C++版))
http://blog.csdn.net/horace20/article/details/8087557 1. 一般架构说明 图 1 架构层次图 一般应用系统数据库访问模块可大致分为两层,一层 ...
- 【转载】面向切面编程(AOP)学习
看到这篇文章,学习一下:http://www.ciaoshen.com/2016/10/28/aop/ 想理清一下从“动态代理”,到 “注释”,到“面向切面编程”这么一个技术演进的脉络. 只想讲清楚两 ...
- 5Spring动态代理开发小结
5Spring动态代理开发小结 1.为什么要有动态代理? 好处 1.利于程序维护 2.利于原始类功能的增强 3.得益于JDK或者CGlib等动态代理技术使得程序扩展性很强 为什么说使得程序扩展性很强? ...
- 面向切面编程AOP
本文的主要内容(AOP): 1.AOP面向切面编程的相关概念(思想.原理.相关术语) 2.AOP编程底层实现机制(动态代理机制:JDK代理.Cglib代理) 3.Spring的传统AOP编程的案例(计 ...
- Java 动态代理作用是什么?
Java 动态代理作用是什么? 1 条评论 分享 默认排序按时间排序 19 个回答 133赞同反对,不会显示你的姓名 Intopass 程序员,近期沉迷于动漫ING 133 人赞同 ① 首先你 ...
随机推荐
- 思科模拟器-使用vlan划分子网
此博客为初始化版本,未经完善,后续我再整理一下 小技巧:有时候我们不小心执行了一条错误命令,可以尝试使用在该命令前加一个no进行撤销 首先说一下网络设备的选择 在该实验中我主要用到一台三层交换机(思科 ...
- Vue2.5
1.1 创建第一个Vue实例
- haproxy反向代理
haproxy是个高性能的tcp和http的反向代理.它就是个代理.不像nginx还做web服务器 官网地址为www.haproxy.org nginx的优点和缺点 优点: 1.web服务器,应用比较 ...
- day05 模块学习
目录 1.模块简介 2.collections模块常见方法 3.random模块 4.time模块 5.pickle模块 6.json模块 7.os模块 8.sys模块 9.正则表达式 10.re模块 ...
- github-上传自己的项目到github仓库
参考链接: https://blog.csdn.net/m0_37725003/article/details/80904824 https://www.cnblogs.com/cxk1995/p/5 ...
- QPainter绘制遇到的小问题
1.Qt绘图基础 (1)绘图需画笔和画布: QPainter 相当于Qt中的一个画笔,绘制时需要一块画布, Qt中扮演画布角色的组件为QPaintDevice和他的各个子类,如: QWidget, Q ...
- EF Like
public static class EdmxExtensions { [EdmFunction("YourEFModel", "String_Like")] ...
- java随机分配端口占用其它服务端口问题完美解决
问题描述: java创建socket连接,创建的随机客户端端口占用了其它服务的端口,导致该服务无法启动 解决: 1.linux系统为java或其它程序提供随机端口配置项 查看端口范围:sysctl ...
- html5课件外包-----swf/AS2/AS3/fla/ppt课件如何转换为html5交互课件/动画
随着Adobe公司公布2020年将不再更新和维护flash,flash逐渐被html5取代,很多教育机构都在面临着如何将自己的flash交互课件产品转换到html5版本的问题,最近遇到非常多的客户一上 ...
- 浅析MSIL中间语言——基础篇(转)
来自:https://www.cnblogs.com/dwlsxj/p/MSIL.html 一.开篇 研究MSIL纯属于个人喜好,说在前面MSIL应用于开发的地方很少,但是很大程度上能够帮着我们理解底 ...