spring框架

spring框架总结(04)----介绍的是Spring中的JDBC模板

别来无恙 提交于 2020-03-05 08:03:49
1.1 Jdbc模板概述 它是spring框架中提供的一个对象, 是对原始 Jdbc API 对象的简单封装 。spring框架为我们提供了很多的操作模板类,入下图所示: 我们今天的主角在 spring-jdbc-4.24.RELEASE.jar 中,我们在导包的时候,除了要导入这个jar包外,还需要导入一个 spring-tx-4.2.4.RELEASE.jar (它是和事务相关的)。 1、Spring中的jdbc模板入门 1.1.1. 创建工程、引入jar包 1.1.2. 创建测试表 CREATE TABLE account( id BIGINT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(40), money DOUBLE )CHARACTER SET utf8 COLLATE utf8_general_ci; 1.1.3. 创建测试类 注意:需要导入c3p0的jar包 public class TestJdbcTemplate { @Test public void test1(){ //创建 jdbc 模板对象 JdbcTemplate jdbcTemplate = new JdbcTemplate(); //创建c3p0数据源 ComboPooledDataSource dataSource = new

Spring Boot Cookbook 中文笔记

旧城冷巷雨未停 提交于 2020-03-05 07:23:24
Spring Boot Cookbook 一、Spring Boot 入门 Spring Boot的自动配置、Command-line Runner RESTful by Spring Boot with MySQL Spring Boot:Data Rest Service 二、配置Web应用 Spring Boot:定制servlet filters Spring Boot:定制拦截器 Spring Boot:定制HTTP消息转换器 Spring Boot:定制PropertyEditors Spring Boot:定制type Formatters 三、Web框架的定制 Spring Boot:定制URL匹配规则 Spring Boot:定制static path mappings 通过EmbeddedServletContainerCustomizer接口调优Tomcat 选择Spring Boot项目的内嵌容器 让你的Spring Boot工程支持HTTP和HTTPS 四、编写定制的Spring Boot Starters 了解Spring Boot的自动配置 Spring Boot:定制自己的starter 配置是否初始化Bean的方法 通过@Enable*注解触发Spring Boot配置 五、Spring Boot应用的测试 Spring Boot应用的测试—

Spring(学习)

允我心安 提交于 2020-03-05 06:26:48
文章目录 Spring 什么是? Spring 什么是? Spring是面向Java的开源框架,有20多个模块组成的,它的核心技术是:IOC 与 AOP。 Spring主要是解决对象,模块之间的耦合关系,实现“解耦”的。 Spring也称为一个容器,Spring作为容器的管理,存储Java对象。 来源: CSDN 作者: Rui.Sir 链接: https://blog.csdn.net/xxxsxsxxx/article/details/104650761

六、jOOQ 和 Spring 整合

亡梦爱人 提交于 2020-03-05 06:24:35
本章主要讲解 jOOQ 和 Spring 的基础整合方式,包括数据源的自动注入,DAO自动注入,以及事务管理。 Spring Maven 相关依赖 在原来依赖的基础上,还需要添加 Spring 相关的依赖,另外,利用Spring Spring 的基本依赖主要是其中的容器,注解,以及数据源相关依赖,连接池这里用的 HikariCP ,号称 Java 性能最高的数据库连接池 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>5.2.2.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>5.2.2.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2.2.RELEASE</version> </dependency>

Spring Boot的缓存之旅(一)

独自空忆成欢 提交于 2020-03-05 03:44:31
使用Spring Cache 1.Spring Cache简介 Spring Cache是 Spring3.1以后引入的新技术。它井不像正常缓存那样存储数据, 其核心思想是这样的:当我们在调用一个缓存方法时,会把该方法参数和返回结果作为一个键值对存放在缓存 中,等到下次利用同样的参数来调用该方法时将不再执行该方法,而是直接从缓存中获取结果进行 返回,从而实现缓存的功能。 Spring Cache的使用和 Spring对于事务管理的使用类似,可以基于注 解使用或者基于XML配置方式使用。 2.基于注解学习Spring Cache 在 Spring中提供了3个注解来使用 Spring Cache,下面分别进行介绍。 ①@Cacheable 注解 :用于标记缓存,也就是对使用 @Cacheable注解的位置进行缓存。 Cacheable可以在方法或者类上进行标记,当对方法进行标记时,表示此方法支持缓存:当对类进行标记时, 表明当前类中所有的方法都支持缓存 在支持 Spring Cache的环境下,对于使用 a cacheable标记 的方法, Spring在每次调用方法前都会根据key查询当前 Cache中是否存在相同key的缓存元素, 如果存在,就不再执行该方法,而是直接从缓存中获取结果进行返回,否则执行该方法并将返回结果存入指定的缓存中。 在使用

AOP面试知识整理,^_^-包括spring Aop

妖精的绣舞 提交于 2020-03-04 23:50:07
讲到java企业级开发框架,就不可避免的讲到 IOC,AOP,MCV   今天面试时被问到AOP,讲的很乱,这里整理笔记,包括AOP,spring-AOP的部分知识,错误的地方请小伙伴指出来. 谈谈你对AOP的理解: AOP概念(Aspect-Oriented Programming): 即面向切面编程,与OOP(Object - Oriented Programming,面向对象编程)相辅相成,AOP的基本单元为Aspect(切面),Struts2 的拦截器设计就是基于AOP的思想。 AOP原理: 大型系统中的 通用的服务型的代码会穿插在各个业务类 ,方法中,随着系统规模的增大,会造成 大量的代码重复 ,,且与核心代码没有太多的关系。 系统中的业务可分为 核心关注点和横切关注点 , 核心关注点是业务处理的主要流程,横切关注点是与核心业务无关的通用业务。如日志权限 等,各个横切点离散的穿插与核心业务中。导致系统中的每一个模块代码都与这些业务具有很强的依赖性,当需要添加横切功能时,需要大幅修改已有的代码。 AOP即解决这个问题, 使用AOP框架,能够将这些影响多个类的通用性服务抽取出来,(即切面) ,并通过 配置的方式明确在那些位置插入这些服务, 系统运行后,AOP框架在指定的时机自动运行这些服务,从而达到核心业务逻辑和服务性逻辑分离的目的,减少了重复代码的

五分钟学Java:如何才能学好Java Web里这么多的技术

偶尔善良 提交于 2020-03-04 22:21:36
原创声明 本文作者:黄小斜 转载请务必在文章开头注明出处和作者。 系列文章介绍 本文是《五分钟学Java》系列文章的一篇 本系列文章主要围绕Java程序员必须掌握的核心技能,结合我个人三年多的Java学习和工作经历,总结和沉淀下来的方法论,希望能让Java学习这件事变得更简单,作者目前在阿里做Java,忙里偷闲分享一些技术文章。 系列文章将会把一些技术学习方法、过程、要领与我的学习经验相结合,更加浅显易懂,并且我也会把我学习时用的资料,书籍和文章拿出来分享给大家,节省你我的时间。所谓授人以鱼也要授人以渔,是本系列文章希望达到的目标。 本文思维导图 什么是Java Web 不知道Java Web这个词是从什么时候开始出现的,但是,据Java官方记载,只有JavaSE和JavaEE这类表述,似乎并没有Java Web这么一个说法,所以,我更愿意认为,Java Web是各位Java前辈们对于Java在Web方向应用的相关技术栈,正如现在的Python Web,golang web等等,只不过是通过某种语言来实现web应用而已。 让我们先看看百度百科对于Java Web的定义,Java Web,是用Java技术来解决相关web互联网领域的技术总和。web包括:web服务器和web客户端两部分。Java在客户端的应用有java applet,不过使用得很少,Java在服务器端的应用非常的丰富

spring学习3-Ioc和DI的简单介绍

孤街醉人 提交于 2020-03-04 22:21:27
控制反转(Inversion of Control,英文缩写为IoC)是一个重要的 面向对象编程 的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心。 控制反转还有一个名字叫做依赖注入(Dependency Injection)。简称 DI 。 以上是来自于百度百科中关于IOC和DI的简单介绍,从中我们可以看到ioc的主要作用是减少类与类之间的耦合程度,在spring中,ioc的表现为类的实例化由原本程序员自己创建对象的动作转为由spring容器创建对象。 在不使用IOC的情况下,我们实例化一个类 IEngine engine = new QiyouEngine(); 在这个语句中我们用到了IEngine接口和其实现类QiyouEngine,这样这个类就需要引用这两个类,如果需要改动实现类,则需要修改代码,这就违反了面向对象设计中的”开闭原则“。想要解耦这段代码,一般的解决可以使用工厂模式对其解耦 1 public class Main{ 2 public static void main(String args[]){ 3 IEngine engine = EngineFactory.getEngine(); 4 engine.doSomething(); 5 } 6 } 7 8 9 public class EngineFactory{ 10 public

Spring的IoC与DI

南笙酒味 提交于 2020-03-04 22:19:02
前言 通过对前几篇的文章总结了下对Servlet、Filter、ServletContextListener的了解。 现在学习基于Servlet技术开发SpringMVC框架。在学习SpringMVC之前要先了解Spring框架。 想要了解Spring,就要从 Spring是什么 、 Spring能做什么 、 用Spring有什么好处 、 Spring该怎么使用 这个几个方面入手。 个人参考的是 开涛大神 的 跟我学Spring 系列文章。 Spring是什么 Spring是JavaEE的开源框架,其通过实现IoC/DI进行容器管理,简化企业级应用程序开发,管理了各个模块的依赖。 IoC (Inversion of Control)控制反转。这里要明白谁控制谁,什么是反转。 public class User{ private UserInfo userInfo; public getUserName(){ return userInfo.name; } } 在上面的代码中,有个getUserName方法,该方法需要用户信息中的名称。如果没有UserInfo实例程序会产生错误。 此刻 User 依赖 UserInfo,UserInfo 控制了 User 。想要正常使用User必须手动构建UserInfo再赋值给User。 基于IoC的理念,User

springboot使用jmh基准测试评估json反序列化、实体转换的性能差异

╄→尐↘猪︶ㄣ 提交于 2020-03-04 13:02:49
1、背景 笔者经常把一些经常使用的数据放到redis缓存,方便程序进行读取。 比如按照不同的键名将数值存储到hash值类型中。示例如下 hash hashkey hashValue snapshot 999 "{\"id\":999,\"distId\":999,\"distName\":\"玄武区\",\"confirm\":7,\"suspect\":0,\"dead\":0,\"heal\":2,\"weight\":6.6,\"level\":\"area\",\"mapId\":\"c320100_2\",\"updateTime\":\"2020-03-03 07:20:39\"}" snapshot1 999 {"confirm":7,"dead":0,"heal":2,"weight":6.6,"mapId":"c320100_2","updateTime":"2020-03-03 07:20:39","name":"玄武区"} 以上数据分别2052条 分别将snapshot1,snapshot转换成实体,现在将对他们进行基准测试,以评测两种存储方式的性能差异 2、基准测试 2个独立进程,分别依1次热身/热加载,批量执行20次,总计40次 2.1、snapshot1相关测试 这里用的实体转换框架是 ModelMapper ,官网: http:/