关于ssh三大框架整合的碎碎念
三大框架整合,无非就是一个导jar包,修改配置文件的过程。完了就没事了。
还是有很多细节性的问题
比如在spring中写applicationContext.xml文件时不提示:
解决方法如下:
如果写xml不提示:
Window-preferences-myeclipse-xml-xml catalog-user specified entries-add-
1. location:spring-beans-3.1.xsd的路径,在D:\学习\Java\spring\spring-framework-3.2.1.RELEASE-dist\spring-framework-3.2.1.RELEASE\schema\beans(这是我的路径,写上自己的路径即可)
2. uri 路径,同上
3. key type:Schema Location
4. key: http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
xml文件在xmlcatalog中找与key中字符串相同的文件即spring-beans-3.1.xsd
.xsd文件,指明了被这个文件指明的xml文件中能写什么不能写什么
项目中的applicationContext.xml的头部:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">
Spring对Dao层的支持:
Spring提供了Dao框架,让开发人员无须耦合特定的数据库技术就能进行应用程序的开发
通过DAO接口进行开发,接口的实现通过spring注入
如:User user = new User();
//通过spring配置文件获得UserDao实现类
UserDao userdao=getUserDao();//getUserDao()就是context.getBean();
//再调用dao层的方法
Userdao.insert(user);
getUserDao()就是context.getBean();因此,由于依赖于接口,可以通过依赖注入随时替换UserDao接口的实现类,而应用程序完全不用了解接口和底层数据库的操作细节。
Spring使用持久层,必须知道数据源在哪里,所以要注入数据源。用注入数据源的方式注入数据库。连接数据的方式称为“数据源”,比如JDBC,连接池或者JNDI
Spring通过依赖注入的方式配置数据源:不同系统,数据源的管理更多是针对底层的行为,这些行为不应该影响业务。更换数据源只需要修改bean定义的内容,而不需要修改任何一行代码。
配置datasource
在配置文件中配置数据源:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSouerce">
<property name="driverClassName">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<property name="url">
<value>jdbc:oracle:thin:@localhost:1521:ORCL</value>
</property>
<property name="username">
<value>scott</value>
</property>
<property name="password">
<value>admin</value>
</property>
</bean>
配置PersonDaoBean:datasource所要注入的对象
<bean id="personDao" class="spring.jdbc.dao">
<property name="dataSource" ref="dataSource"/>
</bean>
通过ref属性,spring启动时,dataSource属性就注入到PersonDaoImpl中了。
过程:根据ref中的dataSource去查找persondaoImpl中的setdataSource方法,
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
}
上面的数据源配置通过参数dataSource传入persondaoImpl的成员变量里。
关于ssh三大框架整合的碎碎念的更多相关文章
- Maven SSH三大框架整合的加载流程
<Maven精品教程视频\day02视频\03ssh配置文件加载过程.avi;> 此课程中讲 SSH三大框架整合的加载流程,还可以,初步接触的朋友可以听一听. < \day02视频\ ...
- SSH三大框架整合案例
SSH三大框架的整合 SSH三个框架的知识点 一.Hibernate框架 1. Hibernate的核心配置文件 1.1 数据库信息.连接池配置 1.2 Hibernate信息 1.3 映射配置 ...
- JavaWeb_(SSH)三大框架整合struts+hibernate+spring_Demo
三大框架整合 一.SSH导包 二.书写Spring 三.书写Struts 四.整合Spring与Struts 五.书写(与整合)Hibernate.引入c3p0连接池并使用hibernate模板 六. ...
- SSH三大框架整合配置详解
首先,三大框架整合,肯定是要导入相当多的jar包,这是不容置疑的! 这里就不一一列举了,直接截图吧: (1) 基于配置文件的整合: 第一步:我们需要在we ...
- SSH 三大框架整合
Spring整合web项目 在Servlet当中直接加载配置文件,获取对象 存在问题 每次请求都会创建一个Spring的工厂,这样浪费服务器资源,应该一个项目只有一个Spring的工厂. 在服务器启动 ...
- SSH三大框架整合步骤
Struts2:需要整合的第一个框架: 1.创建一个动态web项目 2.导入struts2必须的jar 放到 lib目录下 ,再 build path 添加web工程中 3.配置struts2的核心配 ...
- JAVAEE——SSH三大框架整合(spring+struts2+hibernate)
一.整合原理 二.导包(41个) 1.hibernate (1)hibernate/lib/required (2)hibernate/lib/jpa | java persist api java的 ...
- SSH三大框架整合配置详细步骤(3)
5 配置Spring2.5 5.1 基础配置 1) 导入spring包.下载spring-framework-2.5.6并解压后,在spring-framework-2.5.6" ...
- SSH三大框架整合使用的配置文件 注解实现
1 Struts.xml 使用拦截器 <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE str ...
随机推荐
- phpcms 最多上传 10 个附件 解决办法
修改文件:/phpcms/libs/classes/form.class.php
- 解决XAMPP中,MYSQL因修改my.ini后,无法启动的问题
论这世上谁最娇贵,不是每年只开七天的睡火莲,也不是瑞典的维多利亚公主,更不是一到冬天就自动关机的iPhone 6s, 这世上最娇贵的,非XAMPP中的mysql莫属,记得儿时的我,年少轻狂,当时因为m ...
- 抓取进程中包括其所有线程的iowait时间
perf事件是可以按照线程按照进程统计的呢,但是/proc/接口就不提供这样的功能 hon@station6:/proc/6288$ sudo perf stat -e sched:sched_swi ...
- [C/C++] C++类对象创建问题
CSomething a();// 没有创建对象,这里不是使用默认构造函数,而是定义了一个函数,在C++ Primer393页中有说明. CSomething b(2);//使用一个参数的构造函数,创 ...
- bzoj3998-弦论
给定一个长度为\(n(n\le 5\times 10^5)\)的字符串,求它的第\(k\)小字串.有两种模式: \(Type=0\),不同位置的相同字串只算一个 \(Type=1\),不同位置相同字串 ...
- Apple - Hdu5160
Problem Description We are going to distribute apples to n children. Every child has his/her desired ...
- 前端开发学习之——dom ready和window onload的区别
1.ready事件是在页面中所有DOM结构已完全加载时执行,监听的是 DomContentload 事件,初始化并解析完成时触发,不需要等待样式表.图片和 iframes 加载完,也就是说当这个事件触 ...
- 原 cocos2dx中毒冰冻shader
#ifdef GL_ES precision mediump float; #endif uniform sampler2D u_texture; varying vec2 v_texCoord; v ...
- 重拾C#教程:变量
一个变量只不过是一个供程序操作的存储区的名字.在 C# 中,每个变量都有一个特定的类型,类型决定了变量的内存大小和布局.范围内的值可以存储在内存中,可以对变量进行一系列操作. 我们已经讨论了各种数据类 ...
- BZOJ2875 & 洛谷2044:[NOI2012]随机数生成器——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=2875 https://www.luogu.org/problemnew/show/P2044 栋栋 ...