spring的几个重要类和接口
1.datasource接口是javax.sql包下的接口,不是spring,是javax.sql下的
datasource接口有个重要的方法getConnection()方法
Connection getConnection(String username, String password)
throws SQLException;
那些spring支持的数据库连接池,都是实现了Datasource接口
比如下面是阿里的DruidDatasource数据库连接池源码,它就是实现了datasource的getConnection()方法
只要是实现了这个方法的类,就都可以当spring的datasource
@Override
public DruidPooledConnection getConnection() throws SQLException {
return getConnection(maxWait);
} public DruidPooledConnection getConnection(long maxWaitMillis) throws SQLException {
init(); if (filters.size() > ) {
FilterChainImpl filterChain = new FilterChainImpl(this);
return filterChain.dataSource_connect(this, maxWaitMillis);
} else {
return getConnectionDirect(maxWaitMillis);
}
}
2.jdbcTemplate才是spring的利器,在springframework.jdbc包下
3.所以spring如果想的话,也可以自己去连接数据库,自己去执行sql语句,不用mybatis或者hibernate。
就用spring自己的jdbcTemplate就行啊,只不过没有了orm匹配而已啊
4.如果要用mybatis、hibernate它们去连接数据库的话,就要用它们的类似jdbcTemplate了啊,比如mybatis的sqlsessionTemplate。
5.所以spring中,去操控数据库的话就分为三步骤:1.连数据库,datasource 2.找个利器去操控sql语言,jdbcTemplate或者sqlsessionfactory 3.将利器注入到spring ioc容器中
6.1.spring整合mybatis 的核心是 SqlSessionFactoryBean、MapperFactoryBean(单一接口)
7.1.spring整合mybatis 的核心是 SqlSessionFactoryBean、MapperFactoryBean(单一接口)
8.1.spring整合mybatis 的核心是 SqlSessionFactoryBean、MapperFactoryBean(单一接口)
spring的几个重要类和接口的更多相关文章
- spring aop pointcut 切入点是类的公共方法(私有方法不行),还是接口的方法
spring aop pointcut 切入点是类的公共方法(私有方法不行),还是接口的方法 类的公共方法可以,但是私有方法不行 测试一下接口的方法是否能够捕捉到
- Spring @Aspect进行类的接口扩展
Spring @Aspect进行类的接口扩展: XML: <?xml version="1.0" encoding="UTF-8"?> <be ...
- 2017.3.31 spring mvc教程(一)核心类与接口
学习的博客:http://elf8848.iteye.com/blog/875830/ 我项目中所用的版本:4.2.0.博客的时间比较早,11年的,学习的是Spring3 MVC.不知道版本上有没有变 ...
- Spring MVC学习------------核心类与接口
核心类与接口: 先来了解一下,几个重要的接口与类. 如今不知道他们是干什么的没关系,先混个脸熟,为以后认识他们打个基础. DispatcherServlet -- 前置控制器 HandlerMap ...
- Spring源码分析——BeanFactory体系之接口详细分析
Spring的BeanFactory的继承体系堪称经典.这是众所周知的!作为Java程序员,不能错过! 前面的博文分析了Spring的Resource资源类Resouce.今天开始分析Spring的I ...
- 如何手动获取Spring容器中的bean(ApplicationContextAware 接口)
ApplicationContextAware 接口的作用 先来看下Spring API 中对于 ApplicationContextAware 这个接口的描述: 即是说,当一个类实现了这个接口之 ...
- spring如何管理mybatis(一) ----- 动态代理接口
问题来源 最近在集成spring和mybatis时遇到了很多问题,从网上查了也解决了,但是就是心里有点别扭,想看看到底怎么回事,所以跟了下源码,终于发现了其中的奥妙. 问题分析 首先我们来看看基本的配 ...
- java web项目(spring项目)中集成webservice ,实现对外开放接口
什么是WebService?webService小示例 点此了解 下面进入正题: Javaweb项目(spring项目)中集成webservice ,实现对外开放接口步骤: 准备: 采用与spring ...
- 【Spring Boot】Spring Boot之使用ImportSelector类实现动态注册Bean
一.ImportSelector类介绍 可以通过指定的选择条件来决定哪些类被注册到Spring中.与ImportBeanDefinitionRegistrar类功能相似,通过@Import的方 ...
随机推荐
- [NOIP 2017] 奶酪
[题目链接] http://uoj.ac/problem/332 [算法] 直接搜索即可 注意使用long long [代码] #include<bits/stdc++.h> using ...
- 【POJ 3090】 Visible Lattice Points
[题目链接] http://poj.org/problem?id=3090 [算法] 通过观察发现,在这个平面直角坐标系中,除了(1,1),(1,0)和(0,1),所有可见点的横纵坐标互质 那么,问题 ...
- 通过ip获取地址
<?php /** * IP 地理位置查询类 * * @author 马秉尧 * @version 1.5 * @copyright 2005 CoolCode.CN */ class IpLo ...
- HTML5动态时钟
实现效果 源码可以去github下载 地址:https://github.com/feifeiliu/jsBlock 参考:慕课网动态时钟
- win10 + vs2017 + vcpkg —— VC++ 打包工具
vcpkg 是微软 C++ 团队开发的在 Windows 上运行的 C/C++ 项目包管理工具,可以帮助您在 Windows 平台上获取 C 和 C++ 库. vcpkg 自身也是使用 C++ 开发的 ...
- 多线程之HttpClient
在程序用调用 Http 接口.请求 http 资源.编写 http 爬虫等的时候都需要在程序集中进行 Http 请求. 很多人习惯的 WebClient.HttpWebRequest 在 TPL 下很 ...
- js 找数组中的最值
背景: 2个数组以下 , 比如 [[4, 9, 1, 3], [13, 35, 18, 26], [32, 35, 97, 39], [1000000, 1001, 857, 1]] 找最值的时候, ...
- Eric6中编译窗体时,弹出提示:无法启动pyuic5的解决方案
用 Eric6 与 PyQt5 结合,非常方便的实现界面与逻辑分离,满足python的极速GUI编程,不需要在界面上花很多时间. 这是一对GUI开发完美的组合! Eric6中设计窗体时,弹出提示:‘无 ...
- MAVEN学习笔记之Maven插件的应用(4)
MAVEN学习笔记之Maven插件的应用(4) <build> <pluginManagement> <plugins> <plugin> <gr ...
- Types in Javascript(jQuery)
String: 空字符串等于Boolean的false; htmlString: 包括起始tag和结束tag的字符串,代表html代码: Number:双精度64位,跟string一样属于immuta ...