package com.com.jdbctemplate; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.jdbc.core.JdbcTemplate; /** * spirng JdbcTemplate在spring中的ioc中使…
resources下新建File文件 bean.xml 配置jdbcTemplate 注入DataSource 新建测试方法 复制demo1改个名字叫做demo2 编写Insert的方法…
SpringJdbc持久层封装,Spring jdbcTemplate封装,springJdbc泛型Dao,Spring baseDao封装 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ©Copyright 蕃薯耀 2017年7月6日 http://www.cnblogs.com/fanshuy…
该系列文章是本人在学习 Spring 的过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring 源码分析 GitHub 地址 进行阅读 Spring 版本:5.1.14.RELEASE 开始阅读这一系列文章之前,建议先查看<深入了解 Spring IoC(面试题)>这一篇文章 该系列其他文章请查看:<死磕 Spring 之 IoC 篇 - 文章导读> BeanDefinition 的加载阶段(XML 文件) 上一篇文章 <Bean 的&qu…
该系列文章是本人在学习 Spring 的过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring 源码分析 GitHub 地址 进行阅读 Spring 版本:5.1.14.RELEASE 开始阅读这一系列文章之前,建议先查看<深入了解 Spring IoC(面试题)>这一篇文章 该系列其他文章请查看:<死磕 Spring 之 IoC 篇 - 文章导读> BeanDefinition 的解析阶段(XML 文件) 上一篇文章<BeanDefini…
复制三个出来.分别叫做 OrderDaoImpl.ProductDaoImpl.UserDaoImpl 复制这三个出来就是为了解决重复性代码的问题. 每个dao中都有这段代码.这些都是重复性的代码.在我们的实际开发过程中,是可以避免的 延时完 就删掉其他几个实现类.还是保留AccountDaoImpl 复制一个出来,改名叫做2 抽取dao中的重复代码 把公共的代码抽取出来 删除后这里面的就都报错了 还需要提供get方法 然后就可以对dao中的jdbcTemplate进行替换了.使用父类的getJ…
实际的开发过程中都是基于dao的 创建持久层dao 定义三个方法 持久层实现类 创建dao的实现类. 添加未实现的方法 通过spring注入 jdbcTemplate.所以这里生成一个jdbcTemplate的set方法 根据id查询的方法 用一个List<account>去接收 根据name去查询 更新的方法 配置bean.xml 配置持久层.里面要注入jdbcTemplate 复制一个创建测试类 表明写错了.更正 再次执行,正常获取到数据 更新操作 更新后的结果…
先看这张图 1.spring中的JdbcTemplate     JdbcTemplate的作用:         它就是用于和数据库交互的,实现对表的CRUD操作     如何创建该对象:     对象中的常用方法: 新建项目 引入四个包的坐标 用这个之前准备好的数据库表 创建实体类 三个属性,生成get和set方法和toString方法 JDBCTemplate基本用法 创建测试类 报错.没设置数据源 准备数据源,这里用Spring的内置数据源.DriverManagerDataSource…
复制demo起名3 保存 update delete selct 有这么多的重载方法 如何去定位 可变参数是JDK1.5版本之后才有的东西 RowMapper 实现RowMapper这个接口.然后实现里面的方法 查询的第二个参数就是我们刚才创建的类AccountRowMapper 用List<Account>去接收 DBUtils里面的QueryRunenr也有query方法里面的参数如下 从封装的角度来说.第二个参数 AccountRowMapper和 ResultSetHandler作用是…
不废话,先来代码 pom文件: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">…
1.Dept package cn.hxex.springcore.jdbc; public class Dept { private Integer deptNo; private String dName; private String loc; public Integer getDeptNo() { return deptNo; } public void setDeptNo(Integer deptNo) { this.deptNo = deptNo; } public String…
使用这个jar包来跨服务器上传 搞两个tomcat.一个springmvc一个fileupload 选中tomcat server点击左边的加号 需要改端口和JMX pport这个端口 部署文件上传的项目 springmvc是引用服务器.fileupad是图片服务器 新建项目 这个项目主要用来存文件的 新建文件夹 uplaods 把这个项目部署到tomcat服务器 启动这个服务器 图片服务器的环境就搭建完成了.…
Service中就需要用到 TransactionManager中的方法.提供set方法等着spring注入 这里面所有的操作都可以加上事物控制 其他的方法都是相同的操作 这里没有返回结果 转账的方法 查询的地方需要thorw异常.产生了异常,程序就不在执行 QueryRunner注入了Connection之后. 它就会从连接里面取.我现在不希望它从连接里面取 xml.这里注入connection就不需要了 但是当我们不提供connection对象的时候.我们dao里面的操作将没有connect…
首先配置service对象,配置完Service对象就是注入dao对象. 但是现在没有dao对象,那就需要先配置dao对象.dao配置好以后.上线dao的注入就可以通过refs对象来注入这个dao了 我们大dao里面用到了QueryRunner这个对象 所有需要在dao的bean配置里面注入QueryRunner 注入数据源 QueryRunner可以代参创建构造函数.也可以无参数构造函数创建.但是他俩有区别,你希望每条语句读一个事物,还是所有的sql语句在同一个事物中.因为当前操作是一个单表的…
适应配置的方式解决我们刚才的编码操作 -dist结尾的就是spring 的开发包 解压好的 这里面是约束 libs是扎包 三个为一组,实际上只有21个 自己在使用需要导入jar包的时候,选择这种没有任何 一般都是打开这个index.html IOC只能解决程序之间的依赖关系 接下来将用这个工程基础之上做演示.…
IOC的含义 new的方式创建对象,是主动去找对象.对我的资源独立就变的很难,因为这有明显的依赖关系 第二种方式创建对象.app断开了和资源的联系,.而是去找工厂要一个资源.由工厂负责和资源去的联系,并把想要的对象再转到应用系统 AccountServiceImpl使用上面这行代码也是完全可以找到自己想要的dao的   但是它自己完全找到这个dao的权利放弃了.把这个权利交给了BenFactory.BenFactory再通过一个固定的名称之后.给我们找到我想要的bean对象.这个对象是不是你能用…
再复制一份,改名3 常用的注入方式,这里选择set saveAccount方法输出所有的对象 map需要导包 配置xml 集合类型的值配置方式 在property标签里面再写标签 这里选择array.array代表数组 里面用value配置 测试.访问accountService3 list Set 把第一个改成set 第二个改成array,第三个改成list 再次执行测试 接着往下写.myMap用map标签.entry的两种写法 props标签 把myMap的内容.复制到 props复制到了m…
复制AccountServiceImpl类改名叫做AccountServiceImpl2 生成三个属性值的set方法.注入只需要set方法,并不需要get方法 配置bean,用到property这个标签 属性有name.value和ref这三个属性 输入name 提示的选择项有 age\birthday\name这三个 把这个setName改成setUserName name属性的提示里面就成了username 也就是在找name的值的时候并不管拟变量定义的是什么,只关心set方法叫什么,且去掉…
在AccountServiceImpl内定义三个属性 这里关注点是这几种类型.基本类型的包装类Integer 还有String类型,也包含了其他bean类型.Date 定义构造函数并赋值 重点关注在数据类型上 配置文件中,这里已经开始报错了.这种方式是默认构造函数的形式.因为AccountServiceImpl已经没有了默认构造函数 constructor-arg里面有5个属性 设置type属性为String类型.value值为test 这样就会把test中注入到构造函数中是String类型的成…
新建工程 改成jar包 加入spring的依赖 复制之前的工程代码 再复制配置文件 fac factory整个删除 构造函数也删除.删除后的代码.如下 配置文件中的注释都删除掉 spring中的依赖注入 能注入的类型 今天涉及三类类型和两种方式…
区分单例还是多例对象 单例的几个状态 初始化方法和销毁方法 设置成我们定义的方法 测试 有创建和初始化.但是没有销毁,.对象一直没有销毁的方法 main方法是一切应用程序的入门.当main方法结束后.我们当前应用中线程占用的内存全部释放.这里当前也包含了我们的容器. 此时没来得及调用销毁方法就已经消失了. 只能手动关闭容器. 这里close方法报错了. 这是因为ClassPathXmlApplicationContext用的是ApplicationContext这个接口类型去接收的 多态的特点.…
bean的作用范围调整. 我们的bean通常情况下都是一个单例的模式 Spring是否也知道这些都是单例 构造函数只走了一次.也就是spring这个对象默认情况就是单例的 scope属性 定义bean的范围 默认有这几种形式.默认是单例singleton 选择singleton查看到的效果. 如果改成prototype的话 打印输出了两次对象. prototype就是多例的 常用的是singleton单例和prototype多例 global session的含义 当用户访问量大.访问量一台服务…
目前这里能调用是因为,在service的实现类里面,new了一个dao的对象 正常情况下 这里不应该是new一个对象,应该等于null或为空 设置为空侯再运行就会报错 出错的原因是这里为null 需要讲完Bean的细节后.再来看上面的代码. 新建一个项目 配置打包方式 加入spring 的依赖 复制03里面的代码进来. 复制到04的里面 dao的包整个删除 service中不再调用dao类.都删除 复制bean.xml到新项目里 spring对bean的管理细节 第一种方式创建bean Serv…
核心容器的两个接口.ApplicationContext和BeanFactory 怎么知道对象被创建了呢 我们只需要在实现类里面构造函数内打印输出一段话 然后再这里加上一个断点 运行程序,光标停在这个位置 往下走一步.对象被创建了.这就是加载了配置文件.对象实例立马被创建了. BeanFactory延迟加载的方式 右键BeanFactory BeanFactory有个过时的实现是XmlBeanFactory 创建XmlBeanFactory里面参数有要求 那就在上面定义需要的参数Resource…
如何找到接口的实现类 BeanFactory是核心容器的顶层接口 查看接口的实现类 接下来介绍这三个实现类 把bean.xml复制到桌面上面 运行测试程序 实际更常用ClassPathXmlApplicationConect…
创建新项目 修改为jar包的方式 把上一个工程内的代码 java下的com复制过来 由于配置文件没有,所以一运行就会报错 factory文件夹整个删除 dao的实现类 这里删除 测试类保留这两行代码 加入spring 的依赖 导入我们的依赖里面就会出现这些jar包 给的资料里面的jar包和我们在项目里面看到的jar包 不大一样 spring把apache的日志集成组件.集成到了spring的jar包里面了. 查看依赖关系 spring必备的核心容器 创建配置文件 文件名字可以随便起.只要不是中文…
1.   XML文档的作用和解析 1. XML的基本概述: XML的主要是用来存储一对多的数据,另外还可以用来当做配置文件存储数据.XML的表头如下: <?xml version='1.0' encoding='UTF-8' ?> 使用代码获取此项目在电脑中的绝对路径方法如下所示: URL path = 类名.class.getResource("/"); 使用此方法能获取此项目的scr目录在电脑中的绝对地址. 2. XML约束的注意事项: 后缀名为.xsd的约束文档中的关…
Java基础 1. 简述Java的基本历史 java起源于SUN公司的一个GREEN的项目,其原先目的是:为家用消费电子产品发送一个信息的分布式代码系统,通过发送信息控制电视机.冰箱等 2. 简单写出Java特点,写出5个以上,越多越好 简单的.面向对象的.分布式的.安全的.稳定的.与平台无关的.可解释的.多线的.动态的语言. 3. 什么是Java? JAVA:一种编程语言 一种开发环境 一种应用环境 一种部署环境 4. 请写出Java的版本分类,以及每种版本的应用方向 三种版本: JME:是面…