回顾SSH三大框架整合
1、SSH开发需要的jar和配置文件
Struts2框架
Web.xml和struts.xml
Hibernate框架
hibernate.cfg.xml
Customer.hbm.xml
Spring框架
applicationContext.xml
log4j.properties
2、Spring框架整合Struts2框架
Action类由Struts2创建(按名称自动装配)
Action类交给Spring创建(推荐的方式)
struts.xml的Action编写ID值
配置成多例的(不能忘)
手动注入service
3、Spring框架整合Hiebrnate框架
带有hibernate.cfg.xml配置文件
需要使用LocalSessionFactoryBean对象来加载hibernate.cfg.xml配置文件,生成SessionFactory对象
不带有hibernate.cfg.xml配置文件
使用LocalSessionFactoryBean对象来加载
4、HibernateTemplate模版类的简单的使用
Spring框架提供HibernateTemplate类,方便开发
以后再编写Dao层,都可以继承HibernateDaoSupport类(父类:提供HibernateTemplate,如果不想注入HibernateTemplate,可以注入SessionFactory)
5、解决延迟加载的问题
解决了2个问题(一是jar冲突的问题,二是no session的异常)
解决的方案
在web.xml中配置过滤器OpenSessionViewFilter
做ssh框架的整合的时候,直接拷贝Web.xml即可
svn的概述
1、概述
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,采用了分支管理系统,设计的目标是取代CVS
互联网上很多版本控制服务已从CVS迁移到subversion
简单说SVN就是用于多个人共同开发同一个项目,公用资源的目的
解决团队开发中的代码管理的问题
2、如果没有svn,会遇到的问题
代码管理混乱
备份多个版本,占用磁盘空间大
解决代码冲突困难
容易引发BUG
难以追溯问题代码的修改人和修改时间
难以恢复至以前正确的版本
无法进行权限控制
项目版本发布困难
使用SVN可以管理上述的一类问题
3、简单的术语
仓库
提交
检出/更新
4、常用的版本的控制工具
vss(微软)、cvs、svn、git(安卓常用)
svn的体系结构
1、体系结构
SVN的仓库
DB 使用数据库作为SVN的仓库
FSFS 使用系统文件方式作为SVN的仓库
SVN仓库的访问(SVN的服务器)
整合Apache形式:http协议访问数据库
svnserve的方式,使用命令开启svn的服务,使用svn的协议访问
svn的客户端
命令行访问
图形化界面
svn的安装
1、双击Setup-Subversion-xxxx.msi文件,注意自己的安装路径,next接口
安装完成后,打开DOS窗口,输入svnadmin --version回车,查看是否安装成功
如果发现不成功,拷贝自己的安装路径+\bin,到环境变量的path配置一下就行
2、安装后的目录结构
bin 可执行的二进制文件
iconv 字符集编码的文件
license 许可证协议
share 本地语言转换
svn的仓库的创建(必须要先创建仓库,才能启动svn服务)
1、svn安装完成后,下面创建svn的仓库
在某一个盘下创建文件夹,随意创建,例如:在D盘下创建Repositories文件,一个仓库可以存放多个项目,在Repositories文件夹中再创建多个子文件夹,代表不同的项目
2、可以使用命令的方式或者图形化界面的方式来创建
命令的方式:svnadmin create d:\Repositories\crm
3、仓库创建好后,有如下的一些目录结构
conf 配置文件(重点的配置文件)
svnserve.conf svn的配置文件
passwd 用户名好密码的文件
authz 权限认证的文件
db 版本数据存储目录
hooks 存放本班库勾子目录
locks 存储库锁目录,用来跟踪库的访问者
4、启动仓库
启动仓库分成两种主要形式
单仓库启动(只启动其中的一个仓库)
多仓库启动(启动所有的仓库)
启动仓库的方式有三种
命令行启动
单仓库启动
svnserve -d -r D:\Repositories\crm
多仓库启动
svnserve -d -r D:\Repositories
使用批处理文件的方式启动,先创建一个批处理的文件(.bat后缀),在该文件中复制如下命令
单仓库启动
svnserve -d -r D:\Repositories\crm
多仓库启动
svnserve -d -r D:\Repositories
在系统上注册服务的方式,以后只要电脑一开机就自动启动了(每个等号后面都得加空格不然创建不了 会出现创建的格式)
命令:sc create SVN-Service binPath= "D:\svn\bin\svnserve.exe --service -r D:\Repositories" displayname= "SVN-Service" start= auto depend= Tcpip
注意修改的地方1:D:\svn\bin是自己的安装路径
注意修改的地方2: D:\Repositories创建的路径(多仓库启动的方式)
3、总结:采用服务的方式启动仓库和删除服务
目录:sc create SVN-Service binPath= "D:\svn\bin\svnserve.exe --service -r D:\Repositories" displayname= "SVN-Service" start= auto depend= Tcpip
删除服务: sc delete SVN-Service
安装图形化界面的工具
1、在可视化工具文件夹中选择自己电脑的版本的安装软件,双击安装
TortoiseSVN-1.7.12.24070-x64-svn-1.7.9.msi安装
2、安装完成图形界面后,可以使用图形界面的方式创建仓库
3、安装后重启电脑
图形化界面的使用
1、模拟两个人同时是有那个SVN的环境,使用图形界面进行文件的提交和更新操作
2、简单的操作
选择svn checkout 检出(第一次都需要检出资料,和svn的服务器取得同步)
svn的默认端口号是3690,使用协议:svn://localhost:3690/crm来检出内容
创建文件,出现一个蓝色的?号,说明该文件还没有被svn所管理,需要手动添加该文件,点击add完成添加
出现蓝色的*号,说明已经被svn管理了,但是没有与svn服务器同步
选中,右键点击提交,就可以与svn同步了
3、如果没有提交成功,说明现在是没有权限的,可以先设置简单的权限
简单的设置权限
打开crm的仓库
找到仓库:conf/svnserve.conf
anon-access=write 匿名用户可读,可写
4、其他人就可以来更新代码了
设置权限
1、找仓库中的conf/svnserve.conf
2、修改配置文件
anno-access=none 匿名用户没有权限(取值:none/read/writer)
auth-access=writer 认证用户有读写权限
password-db=passwd 让passwd的文件生效
authz-db=authz 让authz的文件生效
3、打开passwd文件,设置用户名和密码
xx=123
yy=123
4、打开authz文件,设置用户的权限
[groups]
crmGroup=xx,yy
[/] --全路径
@crmGroup=rw
*= --其他的
解决代码冲突问题
1、两个人都修改了同一个文件,然后一个先提交了,后提交的用户就会产生冲突
2、后提交的人需要来解决冲突
先更新,然后删除掉多余的内容
再重新提交
锁机制
1、右键,先择get lock 加锁,提交后默认就解锁了
2、可以选择仓库,释放锁
cmd中 ipconfig看ip地址
Eclipse中安装svn插件
1、在Eclipse中安装svn的插件
先退出eclipse
下载eclipse_svn_site-xxx.zip
解压
features
plugins
创建一个文件夹svn,将两个文件夹copy到svn路径下
打开eclipse安装路径
eclipse\dropins
将svn的文件夹copy到dropins路径
重新启动Eclipse