1. spring day03回顾

    1. 事务管理

  • 基于xml配置

1.配置事务管理器

jdbc:DataSourceTransactionManager

hibernate:HibernateTransactionManager

2.事务通知(详情、属性)

<tx:advice id="" transaction-manager="">

<tx:attributes>

<tx:method name="add*">

<tx:method name="update*">

<tx:method name="delete*">

<tx:method name="find* read-only="true">

3. AOP编程,ABCD--> ABC

<aop:config>

<aop:advisor advice-ref="txAdvice" pointcut="execution(* com..*.*(..))">

  • 基于注解

xml 配置

1.事务管理器

2.将配置事务管理器交予spring

<tx:annotation-driven transaction-manager="....">

目标类

@Transactional 类 | 方法

  1. 整合Junit

@RunWith(SpringJunit4RnnerClass.class)

@ContextConfiguration(locations="classpath:...xml")

@Autowired 注入

@Test 测试

  1. 整合web

web.xml 配置

1.确定xml位置

<context-param>

name:contextConfigLocation

value:classpath:...xml

2.加载xml文件,配置监听器

ContextLoaderListener

  1. 整合

1. hibernate po (domain、bean)

2.dao层:

需要HibernateTemplate 相当于session操作PO类 --> 必须提供setter方法,让spring注入,xml配置模板

save() update delete saveOrUpdate find

继承HibernateDaoSupport,需要注入SessionFactory,底层自动创建模板

dao方法中 this.getHibernateTemplate()

3.service 层,spring配置

properties <context:property-placeholder location>

配置数据源:ComboPooledDataSource

配置SessionFactory:LocalSessionFactoryBean

事务管理

4.web层 ,aciton

struts.xml <action name="" class="全限定类名"> 前面看到一位struts,底层使用spring

默认与spring整合之后,按照【名称】自动注入

spring day04 -- spring day07 ,案例(小项目)

day04: SVN 、搭建环境(完成PO类)

day05: 基本功能(struts拦截器、hibernate关联获取)

day06: 复杂操作(查询+分页+条件、ajax级联操作)

day07: 重写--工具 (BaseDao、BaseAction)

  1. SVN

    1. 版本控制

      1. 什么版本控制

  • 版本控制(Revision Control):是维护工程蓝图的标准做法,能追踪工程蓝图从诞生一直到定案的过程。是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。也是一种软体工程技巧,籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新。
  1. 版本控制软件

  • CVS(Concurrent Versions System)代表协作版本系统或者并发版本系统,是一种版本控制系统,方便软件的开发和使用者协同工作。
  • VSS ( Visual Source Safe )只能在windows下,作为 Microsoft Visual Studio 的一名成员,它主要任务就是负责项目文件的管理
  • Git是用于Linux内核开发的版本控制工具。它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。Git的速度很快,这对于诸如Linux kernel这样的大项目来说自然很重要。Git最为出色的是它的合并跟踪(merge tracing)能力。

www.github.org

。。。。。。

  • SVN(Subversion ),是一个开放源代码的版本控制系统,采用了分支管理系统,它的设计目标就是取代CVS。
  1. SVN特点

  • 统一的版本号。CVS是对每个文件顺序编排版本号,在某一时间各文件的版本号各不相同。而Subversion下,任何一次提交都会对所有文件增加到同一个新版本号,即使是提交并不涉及的文件。所以,各文件在某任意时间的版本号是相同的。版本号相同的文件构成软件的一个版本。
  • 原子提交。一次提交不管是单个还是多个文件,都是作为一个整体提交的。在这当中发生的意外例如传输中断,不会引起数据库的不完整和数据损坏。
  • 重命名、复制、删除文件等动作都保存在版本历史记录当中。
  • 对于二进制文件,使用了节省空间的保存方法。(简单的理解,就是只保存和上一版本不同之处)
  • 目录也有版本历史。整个目录树可以被移动或者复制,操作很简单,而且能够保留全部版本记录。
  • 分支的开销非常小。
  • 优化过的数据库访问,使得一些操作不必访问数据库就可以做到。这样减少了很多不必要的和数据库主机之间的网络流量。
  • 支持元数据(Metadata)管理。每个目录或文件都可以定义属性(Property),它是一些隐藏的键值对,用户可以自定义属性内容,而且属性和文件内容一样在版本控制范围内。
  • 支持FSFS和Berkeley DB两种资料库格式。
  • 不足:只能设置目录的访问权限,无法设置单个文件的访问权限。
  1. 体系结构

  1. 安装

  • 测试安装

  • 检查path系统环境变量

  1. 创建仓库

  • 格式:cmd> svnadmin create 路径

  • 仓库目录结构

  • 注意:创建仓库时,目录必须是空的 ,及新建文件夹
  1. 启动

  • 格式:cmd> svnserve -d -r 仓库的路径

-d后台执行

-r版本库的根目录

启动时,指定"仓库路径"不同,分类:多仓库和单仓库

  • 多仓库【掌握】

启动:svnserve -d -r 仓库父目录 ,表示启动时多仓库

例如:svnserve -d -r G:\repository\svn

访问:svn://localhost:3690/bbs

  • 单仓库

启动:svnserve -d -r 仓库的根 ,表示启动时单仓库

例如:svnserve -d -r G:\repository\svn\bbs

访问:svn://localhost:3690

  • 将操作注册成操作系统的"服务",开机启动。

1."运行",services.msc 打开"服务"

2. 删除"服务"

3. 注册"服务"

sc create svn binpath= "D:\java\Subversion\bin\svnserve.exe --service -r G:\repository\svn" displayname= "SVN-Service" start= auto depend= Tcpip

4. 启动或停止"服务"

  1. 操作【掌握 思想】

  1. checkout

  • 格式:svn checkout 服务器地址 下载地址

  1. commit

  • 格式:svn commit 资源

问题1:没有纳入版本控制

使用add子命令 添加到本地版本库

问题2:没有编写日志

采用 -m 参数设置日志信息

问题3:没有权限

修改权限,设置匿名访问

G:\repository\svn\bbs\conf\svnserve.conf

  1. update

  • 格式: svn update

  1. 图形化:TortoiseSVN 安装

  • 安装成功之后,所有的操作都是"右键"
  1. svn权限

  • 权限需要3个配置文件

  • svnserve.conf

开启认证

确定账号配置文件位置

确定认证配置文件位置

  • passwd 账号配置 (一行一个账号,账号用户名和密码组成,使用等号分隔)

  • authz 认证配置文件

配置组 , 格式:组名 = 用户1 ,用户2,....

认证细节配置

多仓库

[bbs:/]             --> 确定仓库名称 。[bbs:/doc] 给bbs仓库的doc目录配置权限

@itheima = rw    --> 给itheima组设置权限。

read ('r') ,read-write ('rw') ,or no access ('').

user3 = r            --> 给user3 指定权限

*=                --> 其他用户没有权限

单仓库

[/]                -->单仓库的根 [/doc] 单仓库doc目录

  1. TortoiseSVN 常见图标

  1. myeclipse svn 插件

    1. 安装插件

如果3个都不能使用,直接换eclipse

  • 安装方式1:直接复制

eclipse插件规范

eclipse 目录

| -- features目录

| -- plugins 目录

  • 方式2:使用link文件

将插件解压到任意目录(不含中文、空格),在myeclipse/dropins目录添加一个link文件

文件名:自定义

文件扩展名:link

文件内容:

path = 插件完整目录,需要指定到eclipse,即可以看到(features 、 plugins)

例如:

path=D:\\java\\MyEclipse\\MyEclipse 10\\svn\\eclipse

path=D:/java/MyEclipse/MyEclipse 10/svn/eclipse

  • 方式3:在线安装
  • 安装成功标志

  1. 操作

  1. svn目录规范

trunk ,主线,用于存放程序整个进度

branches ,分支,例如:bug修复、特殊功能等

tags,标签(版本),此目录下的内容不能修改

最新文章

  1. ActiveMQ学习(一)——MQ的基本概念
  2. GetSystemMetrics()
  3. Cocos2dx-lua开发之c++绑定到lua
  4. 搭建高性能计算环境(六)、应用软件的安装之lammps
  5. HDU4453--Looploop (Splay伸展树)
  6. 3)Javascript设计模式:Observer模式
  7. SQL2008清空删除日志:
  8. 使用IDEA配置Maven + SpringMVC + Mybatis 【一步一步踩坑详细配置完成】
  9. EJB 介绍
  10. MongoDB分片详解
  11. 去除input[type=number]的默认样式
  12. 洛谷3822 [NOI2017] 整数 【线段树】【位运算】
  13. vue---分页搜索功能
  14. Confluence 6 避免和清理垃圾
  15. WINDBG常用方法
  16. 2019ExcelVBA一些自己掉进过的坑
  17. cinder 和 qt5 vs2015结合
  18. Activity横竖屏切换时 一些数据的保存
  19. 使用iozone进行磁盘读写性能测试
  20. 基于 HTML5 WebGL 的计量站三维可视化监控系统 Web 组态工控应用

热门文章

  1. PATH变量
  2. SQLAlchemy一对多总结
  3. GCD的其他方法
  4. JAVA环境安装
  5. url 传参写法
  6. CentOS 基本设置
  7. Python条件语句
  8. yii使用MongoDB作为数据库服务软件[win7环境下](2)
  9. ipython
  10. nginx入门到精通目录