- 博客(13)
- 资源 (1)
- 收藏
- 关注
原创 学习笔记——Spring(6)事务
我们通过一个实际的例子来了解Spring的事物管理。场景:要记录某个人的总支出和所剩余额的信息,总支出增加多少,余额就会相应的减少多少。假设初始时余额为1000,总支出为0。对此在数据库中建立:总支出表—pay,包含字段【id(主键)、money(总支出)】;余额表—balance,包含字段【id(主键)、money(余额)】。正常情况下pay.money增加n时balance.money减少...
2020-02-09 20:02:14
412
原创 学习笔记——Spring(7)事务的传播行为和隔离级别
事务的传播行如果一个方法(事务方法或非事务方法)里面调用了其他的方法(事务方法或非事务方法),那么Spring是怎样处理的呢?这就涉及到Spring事务的传播行为,@Transactional注解中可以通过设置propagation属性来管理事务的传播行为。propagation属性有以下几种设置,分别对应不同的事物传播行为:Propagation.REQUIRED 支持当前事务...
2020-02-09 20:01:59
196
原创 学习笔记——Spring(5)AOP
定义AOP——面向切面编程:是一种编程典范,它通过分离横切关注点来增加程序的模块化。简单说就是AOP可以在不修改现有代码的情况下,对现有代码增加一些功能。 横切关注点:软件系统可以看成是由一组关注点组成的,其中,直接的业务关注点,是直切关注点。而为直切关注点提供服务的,就是横切关注点。 横切关注点被模块化为特殊的类,这些类称为切面 切面也需要完成工作。在 AOP 术语...
2019-10-10 10:05:37
736
原创 学习笔记——Spring(4)bean的生命周期
Spring容器可以管理bean的生命周期。SpringIOC容器对bean的生命周期进行管理的过程:通过构造器或工厂方法创建bean实例 为bean的属性赋值或设置bean的引用 调用bean的初始化方法(init-method) bean初始化完成——此时bean可以使用了 当容器关闭时,调用bean的销毁方法(destroy-method)在配置文件中,可以在bean的...
2019-10-10 10:05:25
145
原创 学习笔记——Spring(3)bean的作用域
bean的作用域singleton:bean的作用域的默认配置,在spring容器加载时,就创建单例的bean,每次获取对象时都是获取的同一个bean; prototype:spring容器加载时并不会去创建bean,而是在每次获取对象时都创建一个新的bean request:每次http请求过来时,创建一个新的bean,同一请求中多次获取bean,得到的是相同的bean,不同请求中获取b...
2019-10-10 10:05:02
131
原创 学习笔记——Spring(2)Spring配置文件中其他常用配置
1、继承关系配置类之间的继承关系,可以通过使用【parent】来进行设置。在子类的bean配置中,设置parent指向父类的bean的id即可。如果父类是抽象类或者不想让父类的bean被获取到,则可以在父类对应的bean中使用【abstract=true】,来标识该bean只能被继承代码中不能被获取。代码示例:package entity;public class Pers...
2019-10-10 10:04:44
147
原创 学习笔记——Spring(1)helloword--配置bean
介绍Spring是开源的、轻量级Java开发框架,所谓轻量级指的是:Spring框架在系统初始化时不需要加载所有的服务,节省了系统资源。Spring作用是:简化应用程序开发工作。Spring是一个容器,它包含并且管理应用对象的生命周期。此外可以整合其他的框架。Spring核心:IOC(或DI)和AOPIOC:控制反转资源获取方向反转。传统的创建对象方式是在代码中通过“new”关键字...
2019-10-10 10:04:25
201
原创 grails3—配置多数据源
如果grails项目中,不同的domain类型需要映射不同的数据库中的表,此时就需要连建立多个datasource去连接指定的数据库。配置连接多个库的具体实现方法为:在application.yml文件中,增加dataSources属性配置,里面包含每个具体的数据源配置。如下: 如果需要实现不同的domain类连接操作不同的库,在domain类中static mapping下还需要...
2018-08-19 10:44:36
1130
原创 grails3版本的拦截器
grails3版本中,去掉了Filter,拦截器功能由Interceptor完成。Interceptor在controller所在的目录下定义,命名规则是:名称+Interceptor。内部需要实现三个方法:boolean before()【执行方法之前拦截,默认返回true】、boolean after()【执行方法之后拦截,默认返回true】、void afterview()【页面渲染...
2018-08-19 10:25:24
1335
原创 grails-开发中的总结:render、response、forward、redirect
redirect请求重定向。使用:1、redirect(url:"http://....") 【打开的是此处输入的路径】2、redirect(url:"/【controller】/【action】")【打开的是默认IP+端口+输入路径】forward请求转发。使用:1、forward(url:"【同一类中的action方法】") //直接指定同一类中方法名2、for...
2018-07-28 11:04:15
1114
原创 IP地址的分类
1、IP地址的组成每个IP地址都是由4个字节构成,每个字节是8个二进制位,这4个字节包括两部分:“网络地址”和“主机地址”。“网络地址”确定了这个IP地址的所处分类,“主机地址”确定了具体哪一台计算机2、IP地址的分类IP分为A、B、C、D、E五类。A类 1个字节的网络地址和3个字节的主机地址; 最高位以“0”开头 00000001...
2018-05-19 17:31:57
326
原创 Grails3.*版本直接使用sql语句操作数据库的简单例子
1、使用sql语句操作数据库1——最简单的类型(单一、默认数据连接)1、首先要在application.yml文件配置好数据库连接2、操作数据库一般在service层中使出现。在相应的类中,声明数据库连接——dataSource,该声明必须在方法外,也就是声明为全局的。def dataSourcegrails会自动将application.yml文件中配置的dataSource...
2018-05-19 10:24:04
1038
6
原创 Grails3.*版本的连接数据库配置
Grails3版本较1、2版本还是有不少改进之处。数据库配置上,老版本是在conf/DataSource.groovy下进行配置,而到了3版本,在conf下已经找不到DataSource.groovy了。本文以连接mysql数据库为例(其他数据库配置方式类似),没有具体配置如下:1、打开conf/application.yml文件,找到environments,它的下面有developmen...
2018-05-19 10:11:31
1103
Balsamiq_Mockups_3.5.17.exe
2019-10-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人