freemarker+velocity+jsf+spring+hibernate 初探一

     喜欢架构方面的东西,在一年多以前就开始接触freemarker,velocity,jsf,spring....,很遗憾现在才开始做这方面的整合。在网上很少看到jsf与模板技术同使用的例子,都说jsf速度不太理想,我想jsf与模块引擎结合一定会给我们带来惊喜。

    下面介绍一下这方面的研究成果。

    首先从web.xml开始吧!

 

xml 代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans  
  3.     xmlns="http://www.springframework.org/schema/beans"  
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  5.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">  
  6.     <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">  
  7.         <property name="sessionFactory">  
  8.             <ref bean="sessionFactory"/>  
  9.         </property>  
  10.     </bean>  
  11.        
  12.     <bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor">  
  13.         <property name="transactionManager" ref="transactionManager"/>  
  14.         <property name="transactionAttributes">  
  15.             <props>  
  16.                 <prop key="*">PROPAGATION_REQUIRED,-Exception</prop>  
  17.                 <prop key="load*">PROPAGATION_REQUIRED,readOnly</prop>  
  18.                 <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>  
  19.                 <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>  
  20.                 <prop key="list*">PROPAGATION_REQUIRED,readOnly</prop>  
  21.             </props>  
  22.         </property>  
  23.     </bean>    
  24.        
  25.     <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">  
  26.         <property name="beanNames">  
  27.             <value>*Service</value>  
  28.         </property>  
  29.         <property name="interceptorNames">  
  30.             <list>  
  31.                 <value>transactionInterceptor</value>  
  32.                 <value>hibernateInterceptor</value>    
  33.             </list>  
  34.         </property>  
  35.     </bean>    
  36.     <bean id="hibernateInterceptor"     
  37.         class="org.springframework.orm.hibernate3.HibernateInterceptor">     
  38.         <property name="sessionFactory" ref="sessionFactory" />     
  39.     </bean>  
  40.   
  41. </beans>  

 然后是spring方面的配置

  

xml 代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans  
  3.     xmlns="http://www.springframework.org/schema/beans"  
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  5.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">  
  6.     <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">  
  7.         <property name="sessionFactory">  
  8.             <ref bean="sessionFactory"/>  
  9.         </property>  
  10.     </bean>  
  11.        
  12.     <bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor">  
  13.         <property name="transactionManager" ref="transactionManager"/>  
  14.         <property name="transactionAttributes">  
  15.             <props>  
  16.                 <prop key="*">PROPAGATION_REQUIRED,-Exception</prop>  
  17.                 <prop key="load*">PROPAGATION_REQUIRED,readOnly</prop>  
  18.                 <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>  
  19.                 <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>  
  20.                 <prop key="list*">PROPAGATION_REQUIRED,readOnly</prop>  
  21.             </props>  
  22.         </property>  
  23.     </bean>    
  24.        
  25.     <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">  
  26.         <property name="beanNames">  
  27.             <value>*Service</value>  
  28.         </property>  
  29.         <property name="interceptorNames">  
  30.             <list>  
  31.                 <value>transactionInterceptor</value>  
  32.                 <value>hibernateInterceptor</value>    
  33.             </list>  
  34.         </property>  
  35.     </bean>    
  36.     <bean id="hibernateInterceptor"     
  37.         class="org.springframework.orm.hibernate3.HibernateInterceptor">     
  38.         <property name="sessionFactory" ref="sessionFactory" />     
  39.     </bean>  
  40.   
  41. </beans>  

 

 

 

从‘查理复用’到TM52F1363:深入剖析5脚188数码管的驱动原理与避坑指南 本文深入解析了5脚188数码管的驱动原理,重点介绍了查理复用技术如何通过5个IO引脚高效驱动188段显示,并详细探讨了TM52F1363单片机的寄存器配置与驱动实现。文章还提供了常见问题的解决方案和性能优化技巧,帮助开发者避免实际应用中的各种陷阱。 阅读详情

相关推荐

BUCK电路为何无法实现100%占空比?自举电路原理与替代方案解析

在开关电源设计中,DC-DC转换器是实现电压变换的核心器件,其工作原理基于功率开关管的周期性导通与关断。BUCK(降压)电路作为一种经典拓扑,通过调节开关管的占空比来控制输出电压。然而,其占空比存在理论上限,无法达到100%,这一限制源于高边开关管的驱动需求。为了驱动高边N沟道MOSFET(NMOS),需要栅极电压高于源极电压,而自举(Bootstrap)电路通过利用开关节点电压的跳变,巧妙地生成了这一高压驱动信号。自举电路必须在每个开关周期内存在续流阶段(低边管导通)为电容充电,这从根本上限制了最大占空比

weixin_32239523的博客 309

WebWork+FreeMarker与JSF比较

基于MVC的WEB应用的开发包括控制层和表现层的开发,其中表现层又包括页面逻辑(指客户端验证,客户端界面动态生成)和页面表现元素(界面),这里,将对两种比较常用的基于MVC的优秀的WEB开发架构WebWork+FreeMarker和JSF进行比较。            WebWork是一种传统的MVC框架,其简单而又不失强大,架构非常灵活、扩展性强,完成最核心的功能也仅通过实现Acti

welkin8888的专栏 825

freemarker

字符串内建函数 1.声明两个字符串<#assign a='hello'/> <#assign b='world'/>2.内键函数 连接 + ${a+b} 截取 substring ${(a+b)?substring(5,6)} 长度 ?length ${(a+b)?length} 大写 ?upper_case ${(a+b

JSF的博客 268

Dify+MCP Server打造禅道AI智能助手

Dify AI与MCP Server结合打造的禅道AI智能助手,实现了项目管理智能化升级。该方案通过大语言模型和自动化工作流,提供四大核心功能:1)自动化报表生成,支持多维度数据统计与可视化;2)禅道系统管理操作,简化产品/项目/任务管理流程;3)基于知识库的智能问答系统;4)数据库灵活查询与可视化输出。系统采用分层架构,通过MCP协议实现AI与数据源解耦,解决了传统禅道在数据孤岛、工具碎片化等问题。实际应用验证了其在用户管理、任务创建、Bug处理等场景的高效性,显著提升了项目管理效率。

oNew_Lifeo的博客 1709

AD(Altium Designer)器件封装——立创商城导出原理图和PCB完成器件封装操作指南

官网:www.SZLCSC.COM以芯片为例器件类——>芯片类——>对应芯片确定芯片——>数据手册1:原理图2:PCB3:打开操作流程选中原理图——>文件——>导出——>AD1: ✔2:导出AD文件操作流程选中PCB图——>文件——>导出——>AD1: ✔2:导出AD文件1:PCB图2:原理图操作流程文件——>打开操作流程选中文件——>打开操作流程项目文件——>添加新的...到工程——>Schematic Library新原理图库操作流程项目文件——>添加新的...到工程——>PCB Library新的PC

XU157303764的博客 5439

cdi 作用 spring_为什么CDI无法取代Spring

cdi 作用 spring CDI是JavaEE 6的一部分,这是一个巨大的进步。 现在,有一个标准告诉供应商和开发人员如何进行DI。 它可以完善,但是仍然在这里。 恕我直言,规范和标准在任何行业都是一件好事。 但是,我不同意某些人的观点,这意味着春天的终结。 这里有多个DI框架,Spring是第一名。 这是为什么? 因为是第一个? 不是(看看阿瓦隆 )。 我认为这是因为Spring的DI机...

dlz00001的博客 235

D16: OpenClaw + Notion API:知识管理新玩法

本文介绍了如何利用OpenClaw连接Notion API构建自动化知识管理系统。文章首先分析了传统知识管理的痛点,包括信息分散、更新不及时等问题,并对比了Notion与其他工具在API完整性、结构化程度等方面的优势。接着详细说明了Notion API的获取和授权流程,并设计了包含项目知识库、技术决策库和会议纪要库的三层架构系统。最后通过会议纪要自动归档的实战案例,展示了如何通过YAML配置实现从飞书会议到Notion的自动化知识沉淀流程。该方案能有效解决团队知识管理中的信息碎片化问题,提升协作效率。

刘一说的IT专栏 275

为什么CDI无法取代Spring

CDI是JavaEE 6的一部分,这是一个巨大的进步。 现在,有一个标准告诉供应商和开发人员如何进行DI。 它可以完善,但是仍然在这里。 恕我直言,规范和标准在任何行业都是一件好事。 但是,我不同意某些人的观点,这意味着春天的终结。 这里有多个DI框架,Spring是第一名。 这是为什么? 因为是第一个? 不是(看看阿瓦隆 )。 我认为这是因为Spring的DI机制只是其功能的一部分。 当...

dlz00001的博客 209

手把手教你学Simulink——基于Simulink的PMSM MTPA + FW 全速域平滑切换策略

本文提出一种基于Simulink的PMSM全速域平滑切换控制策略,通过融合MTPA和弱磁控制(FW)实现基速附近的无冲击过渡。在过渡区采用加权融合电流给定方法,使电流超调<5%、转速波动<2%,全速域效率>90%。文章详细介绍了系统架构、核心算法及Simulink建模步骤,包括融合控制器设计、切换逻辑实现和参数优化。仿真结果表明,该方法相比传统硬切换显著改善了动态性能,并扩展了调速范围。同时提供了可直接复用的工程模板和MATLAB代码,为电机控制工程师提供了实用的全速域控制解决方案。

MHD0815的博客 81

《网络安全自学教程》- Nmap使用及扫描原理分析

使用Nmap进行端口扫描、主机发现、服务识别、操作系统识别、指定脚本、结果导出文件,使用wireshark抓包分析扫描原理。

wangyuxiang946的博客 1万+

Spring系列——两万字长文教会你Spring (超详细!!!)

到此,我们学习完了 Spring 框架,包括: Spring 体系结构 Spring Bean Spring AOP Spring JDBC Spring 事务管理 写此文章是为了做个笔记,等以后自己忘记了可以回头快速上手。同时也分享给小伙伴们,希望我们都能越来越好,不会就学 B 站,不懂就问 AI,总好过自己两耳不闻窗外事的独自琢磨。 最后认识一下吧,笔者叫`北迁`,hhh~~。

weixin_63009611的博客 1181

【python科研数据处理】将Endnote自动搜索的所有pdf文件,全都移动指定文件夹中

将Endnote自动搜索到的全部pdf文件,全都移动指定文件夹中1 背景2 问题解决 手动反爬虫,禁止转载:原博地址 https://blog.youkuaiyun.com/lys_828/article/details/122370892(优快云博主:Be_melting) 知识梳理不易,请尊重劳动成果,文章仅发布在优快云网站上,在其他网站看到该博文均属于未经作者授权的恶意爬取信息 1 背景 在进行期末考试周后,面对最后一门功课,需要提交至少80篇SCI参考文献,因此最快下载文献的方式就是通过Web of S

lys_828的博客 1827

Java读书笔记:疯狂Ajax讲义+疯狂前端讲义+轻量级Java EE企业应用实战 一

Ajax技术是Web 2.0的重要技术之一,Ajax相关框架:最主流的jQuery、Ext JS 4.1、Prototype、DWR之外,还有Dojo、YUI等各种框架。 jQuery/Prototype:代表单纯的JavaScript库,主要用于简化JavaScript开发,尤其是jQuery基本上已经成为行业规范。 Ext JS:代表专业的JavaScript库+UI组件库的RIA框架。不仅...

肥叔菌的博客 9552

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

轻量级Java EE应用相关技术

轻量级Java EE应用以传统的JSP作为表现层技术,以一系列开源框架作为MVC层,中间层,持久层解决方案,并将这些开源框架有机的组合在一起,使得Java EE应用具有高度的可扩展性,可维护性。 一,轻量级Java EE应用的相关技术有哪些? 1.JSP,Servlet 3.x 和JavaBean及替代技术 2.Struts 2.3及替代技术 3.Spring 4.0及替代技术 JSP:

qq_34342083的博客 1630

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Java就业指导(从入门到放弃)

本系统是X委托Y开发的用于Z的系统,系统包括A、B、C、D等模块。系统使用了Java企业级开发的开源框架E以及前端技术F。表示层运用了G架构,使用H作为视图I作为控制器并实现了REST风格的请求;业务逻辑层运用了J模式,并通过K实现事务、日志和安全性等功能,通过L实现缓存服务;持久层使用了M封装CRUD操作,底层使用N实现数据存取。整个项目采用了P开发模型。上面的描述中,E通常指Spring(Java企业级开发的一站式选择);

ywl470812087的博客 498

Java热交换终极指南:HotswapAgent开源项目完全解析

Java开发者在日常工作中最头疼的问题之一就是漫长的重启等待时间。每次修改代码后,都需要重启应用服务器、等待部署、重新登录系统,这个过程不仅耗时而且严重打断了开发思路。现在,通过HotswapAgent这个强大的开源项目,你可以彻底告别这种低效的开发模式,实现Java类在运行时的无限重定义。 ## 🚀 为什么选择HotswapAgent? HotswapAgent为Java开发者带来了革命性

gitblog_00968的博客 419

spring原理案例-基本项目搭建 02 spring jar包详解 spring jar包的用途

Spring4 Jar包详解 SpringJava Spring AOP: Spring的面向切面编程,提供AOP(面向切面编程)的实现 Spring Aspects: Spring提供的对AspectJ框架的整合 Spring Beans: Spring IOC的基础实现,包含访问配置文件、创建和管理bean等。 Spring Context: 在基础IOC功能上提供扩展服务,...

weixin_34195364的博客 78

闲扯struts2-A

思路: action----------------->配置xml----------------------->前台view(------------------->validation后面写) 纯属一家之谈: 公司一直用的是struts1,1用的是相当顺手,但是一里面也有一些问题,比如用struts自己的form,里面有date类型,还要让人转换麻烦的很!但是问题还是能解决的,...

熊有成竹 170

Spring Framework 开发参考手册 - Spring Framework reference 2.0.5 参考手册中文版

原文:http://doc.javanb.com/spring-framework-reference-zh-2-0-5/ Spring Framework 开发参考手册 - Spring Framework reference 2.0.5 参考手册中文版 Spring Framework 开发参考手册 Rod John

GeneralYY0的专栏 4849

spring学习整理

一、Spring框架包含的模块 Spring框架由七个定义明确的模块组成 如果作为一个整体,这些模块为你提供了开发企业应用所需的一切。但你不必将应用完全基于Spring框架。你可以自由地挑选适合你的应用的模块而忽略其余的模块。 就像你所看到的,所有的Spring模块都是在核心容器之上构建的。容器定义了Bean是如何创建、配置和管理的——更多的Spring细节。当你配置你的应用时,

孤竹的博客 346

使用Struts2开发Java Web应用程序(目录)

柏图 952

Struts2.3.24_Spring3.2.13_Hiernate4.3.10集成jar包的选择与说明

hibernate-4.1.6(2012/08/08最后更新) * lib/required/*.jar 必须 * lib/envers/hibernate-envers-4.1.6.Final.jar, Hibernate Envers目的是根据对实体的设置,提供记录执行数据变更历史的功能(数据变更版本)。 它实现原理是通过对Hibernate的操作事件监听并根据基于Annoatati...

王宝锋的专栏 382
上一篇: 爱情连锁信
下一篇: ruby 开始了
comeonliming
博客等级 码龄19年 1粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值