Hibernate与Struts2,Spring

Struts2 框架

Struts是Apache组织的一个开源项目,是一种基于MVC设计模式的java web开发框架,利用它可以简化Java Web项目的开发,提高系统的灵活性和可扩展性.
Struts 2框架的特点
扩展性强
支持使用拦截器
容易测试
默认配置
支持使用注解
支持Ajax
表现层输出形式丰富
支持使用OGNL(Object Graph Notation Language)
便于与Spring集成
开发Struts2应用所必须的类库
struts2-core.jar  struts2的核心类库
xwork.jar  Struts2所依赖的XWork类库
freemarker.jar struts2所依赖的FreeMarker类库,FreeMarker是java中的一种模板技术
ognl.jar 支持对象图导航语言(OGNL)的类库,OGNL是Struts2所使用的表达式语言
commons-logging.jar 通用的日志类库,Struts2用它为Log4j提供日志记录
commons-fileupload.jar   Struts2用来完成文件上传的类库
commons-io.jar     使用commons-fileupload类库的依赖类库

在具体的看Struts的api的使用,这样就不详细说了

 

Hibernate与Spring Framework

Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。 Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的Inversion of Control容器。然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。 Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate和其他O/R mapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务--如果你需要--还能实现你自己的aspects。这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。Spring还提供了可以和IoC容器集成的强大而灵活的MVC Web框架。Spring的创始人——Rod Johnson

 

Spring FrameWork的子模块


Ioc容器

容器的概念
包含其他的其他对象的容器
IoC设计模式
控制反转

 

SpringAOP
oop的不足
Aop应运而生

AOP专有名词
接入点 Joinpoint
切入点  Pointcut
通知   Advice
切面  Aspect
目标对象  Target Object
AOP代理 AOP Proxy
织入Weaving

Spring AOP中通用的通知类型
前置通知(MethodBeforAdvice)
返回后通知(AfterReturningAdvice)
异常通知(ThrowsAdvice)
环绕通知(MethodInterptor)

使用AspectJ 5的注解实现Spring AOP

@Aspect
public class LogAspect{
 @Pointcut("execution(*com.rbh.guestbook.web.GuestbookAction.query(..))")
public void logMethod(){
}

 @Aspect 表示一个切面类
@pointcut切入点

AspectJ的切入点表达式语法

execution(可见性?返回类型 声明类型?方法名称(参数类型)异常类型?)

语法         是否可选   说明
可见性         可选       可见性遵循java语法,"public"将匹配所有的public方法,可以使用"*"通配符匹配所有的可见性
返回类型       必选   用来匹配方法的返回类型,如果void,string,double等。用"*"通配符可以匹配所有的返回类型
声明类型       可选   用于匹配java包名,如com.rbh.guestbook.web等,可用"*"通配符
方法名称       必选   匹配方法名称,可以使用"*"通配符,声明类型和方法名称组成切入点的全路径
参数类型       必选       指定方法的参数类型及个数,".."通配符匹配任何参数类型
异常类型       可选    匹配方法抛出异常的类型

Spring 对Hibernate的支持

HIbernateTemplate

 load()  根据标识符属性值获取对应的持久化对象,找不到记录,抛出违例
delete() 删除已经存在的持久化对象
find()  执行HQL语句,获取持久化对象的集合
get()  根据标识符属性值获取对应的持久化对象,如果数据不存在,返回null
persist() 保存持久化对象到数据库中
refresh() 刷新持久化对象
save()  保存持久化对象所对应的数据岛数据库中
saveOrUpdate() 保存或者更新持久化对象所对应的表中的数据
update() 更新持久化对象所对应的表中的数据

 

简化SessionFactory对象的获取
使用Spring提供HibernateTemplate和,
HibernateDaoSupport类

使用Spring的声明性事务管理

Spring对事务的支持
Spring编程事务管理
Spring声明事务管理

 

Spring中事务隔离级别
ISOLATION_DEFAULT                     使用后端数据库默认的隔离级别
ISOLATION_READ_UNCOMMITTED 一个事务可以读取另一个事务已更新但尚未提交的数据,但在另一个事务提交前,不允许其他事务再写入,所有这种隔离级别可能出现脏读,但是不可能出现更新丢失
ISOLATION_READ_COMMITED        某个事务仅可读取(不可修改或者删除)另一个事务已提交的数据,不可以读取尚未提交的数据,所有这种隔离级别不可能出现脏读,但可能出现不可重复读,和幻读
ISOLATION_REPEATABLE_READ     一个事务已读取的数据,不允许其他事务进行数据写入,不可能出现不可重复读,但是可能出现幻读
ISOLATION_SERIALIZABLE            最严格的事务隔离级别,它要求所有事务进行序列化执行,事务只要一个接着一个的执行,不能迸发执行

 

 Spring的传播行为

 

 

 

 

数据驱动的两阶段分布鲁棒(1-范数和∞-范数约束)的电热综合能源系统研究(Matlab代码实现)内容概要:本文围绕“数据驱动的两阶段分布鲁棒(1-范数和∞-范数约束)的电热综合能源系统研究”展开,提出了一种结合数据驱动分布鲁棒优化方法的建模框架,用于解决电热综合能源系统在不确定性环境下的优化调度问题。研究采用两阶段优化结构,第一阶段进行预决策,第二阶段根据实际场景进行调整,通过引入1-范数和∞-范数约束来构建不确定集,有效刻画风电、负荷等不确定性变量的波动特性,提升模型的鲁棒性和实用性。文中提供了完整的Matlab代码实现,便于读者复现和验证算法性能,并结合具体案例分析了不同约束条件下系统运行的经济性可靠性。; 适合人群:具备一定电力系统、优化理论和Matlab编程基础的研究生、科研人员及工程技术人员,尤其适合从事综合能源系统、鲁棒优化、不确定性建模等相关领域研究的专业人士。; 使用场景及目标:①掌握数据驱动的分布鲁棒优化方法在综合能源系统中的应用;②理解1-范数和∞-范数在构建不确定集中的作用差异;③学习两阶段鲁棒优化模型的建模思路Matlab实现技巧,用于科研复现、论文写作或工程项目建模。; 阅读建议:建议读者结合提供的Matlab代码逐段理解算法实现细节,重点关注不确定集构建、两阶段模型结构设计及求解器调用方式,同时可尝试更换数据或调整约束参数以加深对模型鲁棒性的理解。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值