关于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 ...
随机推荐
- 重新看《JavaScript高级程序设计》
几点心得: 1)数据是基础,一共有3种基础数据:null.undefined.和object:遵循从无到有从简单到复杂的演变过程 2)衍生数据:衍生数据是指操作符合语句,这些是基础数据产生导致的必然结 ...
- 【Redis】- 安装为windows服务
1.安装redis服务 echo install redis-server redis-server.exe --service-install redis.windows.conf --loglev ...
- isset、is_null、empty的区别
版本:PHP 5.4 1.isset() :检测变量是否存在,测试如下: $a = false; $b = null; $c; $d = 0; $e = true; var_dump(isset($a ...
- 【问题解决】Project facet Java version 1.7 (或者1.8)is not supported.
在移植eclipse项目时,如果遇到 “Project facet Java version 1.7 is not supported.” 项目中的jdk1.7不支持.说明项目是其他版本jdk编译的, ...
- 【Python】PYTHON中STRIP()方法学习笔记
Python strip() 方法用于移除字符串头尾指定的字符(默认为空格). 当使用strip('xxx'),只要字符串头尾有"xxx"中的一个,就会去掉,而不是符合字符串''x ...
- CentOS 文件及目录等
1.在linux中一切皆是文件,只是类型不同,通过ls -l看到的一个字母表示文件的类型 -:普通文件. d:目录文件. l:链接文件. b:块设备文件. c:字符设备文件. p:管道文件. 2.文件 ...
- [TJOI2013]最长上升子序列 平衡树
其实是一道性质题. 首先观察到插入的数是递增的, 那么根据上升子序列的性质, 我们的非法情况就是统计到了在一个数前面的后插入的数, 但是由于插入的数是递增的,显然插入这个数后,这个数就是最大的,所以除 ...
- Docker-端口映射
Docker-端口映射 Docker端口映射 docker容器在启动的时候,如果不指定端口映射参数,在容器外部是无法通过网络来访问容器内的网络应用和服务的. 亦可使用Dockerfile文件中的EXP ...
- 爆款PHP面试题
$a = 3; $b = 6; if ($a = 4 || $b = 4) { $a++; $b++; } echo $a; //输出 1 echo $b; //输出 7 逛鸟哥博客,看评论区有个新手 ...
- URAL.1033 Labyrinth (DFS)
URAL.1033 Labyrinth (DFS) 题意分析 WA了好几发,其实是个简单地DFS.意外发现这个俄国OJ,然后发现ACRUSH把这个OJ刷穿了. 代码总览 #include <io ...