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. IP地址的分类——a,b,c 类是如何划分的

    现在的IP网络使用32位地址,以点分十进制表示,如172.16.0.0.地址格式为:IP地址=网络地址+主机地址 或 IP地址=主机地址+子网地址+主机地址. IP地址类型 最初设计互联网络时,为了便 ...

  2. Python OpenCV —— geometric

    用OpenCV画几何图形. import numpy as np import cv2 # Create a black image img = np.zeros((521,512,3), np.ui ...

  3. SQL Analysis Services MDX 查询超时 解决办法

    当页面有很多MDX语句查询的时候,会发生超时的情况. 解决办法: SQL Analysis Services所在的服务器(OLAP的文件夹下) 找到: msmdpump.ini 将: <Conf ...

  4. Xcode与OX 版本对照表

    xcode1.0-xcode2.x 版本 OS X运行版本 OS X SDK(s) 1.0 OS X Panther(10.3.x) OS X Puma(10.1.x),OS X Jaguar(10. ...

  5. 由STL所想到的 C++显示调用析构函数

    在STL中的容器中的析构函数中,会经常调用destroy()这个函数 在STL中  destroy()被重载了 这点在这里到不去讨论 这里贴最简单的那个版本 template<class T&g ...

  6. C#调用C++ DLL类方法

    C++的优势在于高效灵活,C#的优势在于简单易用,两者结合起来对项目开发来说是件好事,而且C++不容易反编译,也保障了代码的安全性,如果一些核心算法使用C#编写,那么保密就是一个问题. C++生成的D ...

  7. 【转】vc++MCF/C++/C中怎样让应用程序获得或以管理员权限运行 ,ShellExecuteEX编程 --- 获取管理员权限

    ShellExecuteEX编程 --- 获取管理员权限:http://blog.csdn.net/jhui163/article/details/5873027 怎样让你的应用程序获得管理员权限:就 ...

  8. linux -小记(1) 问题:"linux ifconfig查看网卡名称与配置文件不否" 或 启动网卡提示“ eth0 似乎不存在, 初始化操作将被延迟”。

    "linux ifconfig查看网卡名称与配置文件不否" 或 启动网卡提示" eth0 似乎不存在, 初始化操作将被延迟" . 问题 1. service n ...

  9. Abstract和Virtual和interface , 派生类中重写 override / new关键字

    http://www.cnblogs.com/blsong/archive/2010/08/12/1798064.html C#中Abstract和Virtual 在C#的学习中,容易混淆virtua ...

  10. [Spring] IOC - Annotation

    Spring Annotation使用例子. 与XML配置的例子一样:http://www.cnblogs.com/HD/p/3962541.html Project结构: 配置文件:springCo ...