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,标签(版本),此目录下的内容不能修改

Spring day04笔记(SVN讲解和回顾昨天知识)的更多相关文章

  1. 2.《Spring学习笔记-MVC》系列文章,讲解返回json数据的文章共有3篇,分别为:

    转自:https://www.cnblogs.com/ssslinppp/p/4528892.html 个人认为,使用@ResponseBody方式来实现json数据的返回比较方便,推荐使用. 摘要 ...

  2. 1.《Spring学习笔记-MVC》系列文章,讲解返回json数据的文章共有3篇,分别为:

    转自:https://www.cnblogs.com/ssslinppp/p/4528892.html [Spring学习笔记-MVC-3]SpringMVC返回Json数据-方式1:http://w ...

  3. 3.《Spring学习笔记-MVC》系列文章,讲解返回json数据的文章共有3篇,分别为:

    转自:https://www.cnblogs.com/ssslinppp/p/4528892.html 概述 在文章:<[Spring学习笔记-MVC-3]SpringMVC返回Json数据-方 ...

  4. 【Spring学习笔记-MVC-9】SpringMVC数据格式化之日期转换@DateTimeFormat

    作者:ssslinppp       1. 摘要 本文主要讲解Spring mvc数据格式化的具体步骤: 并讲解前台日期格式如何转换为java对象: 在之前的文章<[Spring学习笔记-MVC ...

  5. 【Spring学习笔记-MVC-4】SpringMVC返回Json数据-方式2

    <Spring学习笔记-MVC>系列文章,讲解返回json数据的文章共有3篇,分别为: [Spring学习笔记-MVC-3]SpringMVC返回Json数据-方式1:http://www ...

  6. 【Spring学习笔记-MVC-3.1】SpringMVC返回Json数据-方式1-扩展

    <Spring学习笔记-MVC>系列文章,讲解返回json数据的文章共有3篇,分别为: [Spring学习笔记-MVC-3]SpringMVC返回Json数据-方式1:http://www ...

  7. Spring读书笔记——bean解析

    前情回顾 上篇<Spring读书笔记--bean加载>我们从代码角度介绍了有哪些类负责解析XML文件,又是如何一步步从XML格式脱变成我们熟悉的bean的,直到DefaultBeanDef ...

  8. spring学习笔记(一) Spring概述

    博主Spring学习笔记整理大部分内容来自Spring实战(第四版)这本书.  强烈建议新手购入或者需要电子书的留言. 在学习Spring之前,我们要了解这么几个问题:什么是Spring?Spring ...

  9. 【Spring学习笔记-MVC-13.2】Spring MVC之多文件上传

    作者:ssslinppp       1. 摘要 前篇文章讲解了单文件上传<[Spring学习笔记-MVC-13]Spring MVC之文件上传>http://www.cnblogs.co ...

随机推荐

  1. Android Sudoku应用挂掉的问题

    在真机上测试数独游戏时发现,快速点击屏幕时,游戏偶尔出现挂死的情况,Log如下 04-08 15:35:00.838 7317-7356/org.elvalad.sudoku D/OpenGLRend ...

  2. 《JavaScript模式》第5章 对象创建模式

    @by Ruth92(转载请注明出处) 第5章:对象创建模式 JavaScript 是一种简洁明了的语言,并没有其他语言中经常使用的一些特殊语法特征,如 命名空间.模块.包.私有属性 以及 静态成员 ...

  3. C# 反射遍历对象

    在项目中需要遍历各种对象,可以通过如下方法遍历. /// <summary> /// 返回对象字符串 /// </summary> /// <param name=&qu ...

  4. pod install报错问题解决

    pod installwarning: Insecure world writable dir /usr/local/bin in PATH, mode 040777报错后就不进行了.查stackov ...

  5. http和htpps

    http(超文本传输协议)是一个基于请求与响应模式的.无状态的.应用层的协议.  HTTPS   基于安全套接字层的超文本传输协议 或者是 HTTP over SSL **HTTP 和 HTTPS相同 ...

  6. Javascript 中的 && 和 || 使用小结

    准备两个对象用于下面的讨论. var alice = { name: "alice", toString: function () { return this.name; } }; ...

  7. LVS的调度算法

    LVS的调度算法(Scheduling Method)一共有10种 一.静态方法:仅根据算法本身进行调度 1.rr(Round Robin):轮询 2.wrr(Werghted Round Robin ...

  8. Windows下启动,关闭Nginx命令

    启动 直接点击Nginx目录下的nginx.exe    或者    cmd运行start nginx 关闭 nginx -s stop    或者    nginx -s quit stop表示立即 ...

  9. There is already an open DataReader associated with this Command which must be closed first." exception in Entity Framework

    Fixing the "There is already an open DataReader associated with this Command which must be clos ...

  10. 基于web的IM软件通信原理分析

    关于IM(InstantMessaging)即时通信类软件(如微信,QQ),大多数都是桌面应用程序或者native应用较为流行,而网上关于原生IM或桌面IM软件类的通信原理介绍也较多,此处不再赘述.而 ...