Spring学习笔记一(2005.12.30)

《小马哥讲Spring核心编程思想》-第二章学习笔记 《小马哥讲Spring核心编程思想》-第二章学习笔记重新认识IoCIoC发展简介什么是IoC?IoC简史IoC主要实现策略IoC容器的职责依赖查找和依赖注入的区别?Spring 作为 IoC 容器有什么优势? 重新认识IoC 本章主要讲解IoC的一些知识点 IoC发展简介 什么是IoC? IoC 是反转控制,类似于好莱坞原则,主要有依赖查找和依赖注入实现。 控制反转:获得依赖对象的过程被反转了,控制被反转之后,获得依赖对象的过程由自身管理变为了由IOC容器主动注入。 IoC简史 1983年,Richard 阅读详情

ApplicationContext ctx

1,定义资源文件获得资源文件的消息,国际化信息
<bean id="messageResource" class="org.springFramework.context.support.ResourceBoundleMessageSource">
 <property name="basenames">
  xxxx
 </property>
</bean>
将会搜索xxxx.properties,xxxx_zh.properties ,xxxx_ch.properties等。

2,
程序里使用资源文件 :ctx.getMessage('key',arg);
页面上使用资源文件:<spring:message code="keyxxx"/>


3,使用其他文件。
 Resource rs = ctx.getResource("classpath:config.properties");
 File file = rs.getFile();
 目录规则:
 file:c:/test。txt
 /config.properties
 classpath:config.properties
 三种方式。

4,事件传播
  不过没有找到ApplicationListener这个类。

5, WebApp获取ApplicaionContext的方法,
 首先是在web。xml中进行配置,可以配置成一个listener,也可以配置成一个servlet。
 然后程序里使用WebApplicationContextUtils.getWebApplicationContext.获得饮用。

6,Spring可以和很多框架进行集成。
 Struts+Spring,Webwork+Spring。

7,Spring可以有自己的调度类,DispatherServlet。
 使用的配置文件就是beans的配置,名字可以随便取。

8,Sping配置文件(具体名字见web.xml中对ContextLoaderServlet的参数)类似于Struts的配置文件。
 定义viewer使用的是系统类:
  org.springframework.web.servlet.view.InternalResourceViewResolver
 Request mapping 使用的系统类:
  org.springframework.web.servlet.handler.SimpleUrlHandleMapping
 对Action的定义使用自定义类,但这些类都是下面类的子类:
  SimpleFormController
 Actoin的属性包括:
  1,跳转的页面,和view关联
  2,封装form类,就是一个普通的javabean。
  
9,Acition类的内容,
  实现onsubmit( 封装的form,异常对象) 返回一个ModelAndView。
  ModelAndView用字符串初始化,字符串来自Action的两个跳转view名称。
  还可以把Map传入ModelAndView构造函数,用来返回消息。


10,Spring自带的数据验证功能。
 10.1,验证类作为Aciotn的一个名为“validator”的属性在配置文件中配置。
 此类继承org.springframework.validation.Validator
 需要实现两个接口,support(传入一个类),验证此类是否是Action对应的form类。
 validator(object obj,Errors err )首先把obj转为form类对象,如果有错误放到errors里,用法和
  struts类似。
 
 10.2,表现层页面需要的显示错误
  全部错误:
  <spring:bind path="command.*">
   //遍历status.errorMessages
  </spring:bind>  
 
  单个错误:
  <spring:bind path="command.username">
   <input type="text" value="${staus.value}" name="${status.expression}">
   <c:if test="${status.error}">
    //遍历status.errorMessages
   </c:if>
  </spring:bind>
  如果已经在Action中配置了commandName,那么就不使用command了,而是使用配置的名字
  <bean id=‘loginActoni’>
   <property name="commandName">
    <value>RegisterInfo</value>
   </property>
  </bean>

11, 异常处理
 在Dispather的配置文件中配置
 <bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
 定义两个属性:
 <property name="defaultErrorView">
 <property name="exceptionMapping">
  <props>
   <prop key="java.sql.SQLException">sss</prop>
   <prop key="java.lang.RuntimeException">yyy</prop>
  </props>
 </property> 
 可以按不同异常映射到不同的页面。
 异常页面从request.getAttribute("Exception")取得Exception对象。显示他的message属性。

12,国际化
 看完1后,补充如下:
 Spring判断用户Locale的方式有三种,request中取,session中取,cookie中取客户端的locale。
 分别用三个类,配置到配置文件中。

13,数据持久层(重要)对事务的封装
 Spring是依赖容器的参数化事务管理不用写代码。
 见p67。
 1,在配置文件中配置完数据源,
 2,之后配置事务管理的bean,数据源是它的属性。
 3,DAO,事务员是它的属性。
 4,事务beanDAOProxy,事务策略,事务bean,DAO都是它的属性。

14,数据持久层,对JDBC的封装
 org.springframework.jdbc.core.JdbcTemplate.
 JdbcTemplate jdbctemplate = new JdbcTemptlate( datasource );
 jdbctemplate.update("xxxxx");
 jdbctemplate.update("xxxxx",new PreparedStatementSetter(){
  public void setValues( PreparedStatementSetter ps ){
   ps.setInt(1,15);
   ps.setString(2,"jjjjjjj");
  }
 });
 jdbctemplate.query("select ...",new RollbackHandler(){
  public void processRow( ResultSet rs ){
   User user = new User();
   user.setName= rs.getString("name");
   userList.add( user );
  }
 });

 .call()可以调用存储过程。
 query,update还有很多不同版本的实现。
 

15, JDBC封装还要引入事务管理机制,默认是没有事务的。
 两种方式
 1,代码控制的,在DAO里TransactionTemplate使用它的方法。
 2,参数化配置的事务。配置一个ProxyDAO,不用写这个类,只需要在配置文件里增加他对DAO的事物设置。
  使得DAO代码十分简洁。

 测试代码:
 InputStream is = new FileInputStream("xxx.xml");
 XmlBeanFactory factory = new XmlBeanFactoy( is );
 UserDAO dao = (UserDAO)factory.getBean("ProxyDAO");
 dao.insert();//这样就行了

16,Hibernate in Spring
 只需修改配置文件增加一个bean名字为sessionFactory,数据源作为他的属性。
 TrsactionManager的属性:sessionFactory
 IDAO接口:定义数据库操作方法。
 DAO的属性:sessionFactory。继承HibernateDAOSupport,并实现IDAO接口。
   里面使用getHibernateTemplate模版进行数据库操作。
 ProxyDAO的属性:transactionManager,DAO.
 
 测试例子:
 IUserDAO dao=(IUserDAO)factory.getBean("ProxyUserDAO"); 
 User user = new User();
 user.setxxx...
 dao.insertOrUpdate(user);
 
  
  

 

【Unity Animation 2D】从零到一:骨骼绑定与IK动画实战指南 本文详细介绍了Unity中2D骨骼绑定与IK动画的实战流程,从角色素材准备、骨骼系统创建到权重绘制和IK设置,逐步指导开发者掌握2D动画制作技巧。通过反向动力学(IK)技术,实现更自然的角色动画效果,适用于游戏开发和动画制作。 阅读详情

相关推荐

DeepSeek绝了!3分钟生成PPT,专治“五彩斑斓的黑“!!(保姆教程)

DeepSeek绝了!3分钟生成PPT,专治"五彩斑斓的黑"!!(保姆教程)

yizhen91y的博客 4万+

Spring和SQLServer2005不得不说的那点事儿

今天要从SQLServerl中取些数据,不曾想有段时间没有操纵SQLServer了,竟然被SQLServer戏耍了一回,java.sql.SQLException: No suitable driver found for jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=sqlserver007 at java.sql.Driv

风火的专栏 4168

【低空经济】低空无人机公共测试场与验证基地设计方案

公共测试场与验证基地是为低空无人机相关技术的研发、测试与应用提供一个系统性的平台。在无人机产业蓬勃发展的背景下,建设一个配备完善、功能齐全的公共测试场与验证基地显得尤为重要。该基地不仅可以作为无人机的测试和验证场地,还可以为相关企业、科研机构以及政府部门提供技术支持和服务。因此,为此基地的设计方案必须综合考虑功能性、安全性、灵活性与可持续性等多方面的因素。首先,公共测试场需划分为多个专用区域,以便满足不同类型无人机的测试需求。这包括低空飞行区域、紧急着陆区、操控模拟区和监测与数据采集区等。

2502_92579126的博客 1599

利用JBuilder 2005 开发Spring实例

1. 下载spring包,网址如下:http://www.springframework.org/download.html  解压后的目录中包含了dist、lib等子目录  2. 在JBuilder2005中增加spring库,选择菜单Tools-Configure-Libraries,在弹出的对话框中点击New按钮,输入spring库的名称:spring,点击Add按钮,将dist目录中的所有

ebookbug的专栏 1756

AI驱动的研发流程:定义高度专业和系统化的规划基准

在人工智能(AI)浪潮席卷全球的今天,软件研发的范式正经历着一场深刻而迅速的变革。AI技术的渗透,从最初的辅助工具角色,正逐步演变为驱动整个研发流程的核心引擎。传统的研发流程和项目管理方法论,在面对AI带来的高效率、高智能以及高复杂性挑战时,显得力不从心。企业对快速交付高质量软件产品、有效控制风险、并保证全流程可追溯性的需求日益迫切。

形上得其象,形下合于数;阴阳自济,玄理自明。 2181

基于 Datawhale 开源量化投资学习指南(10):基于 LightGBM 的量化选股

通过本篇文章,我们深入探索了如何运用 LightGBM 机器学习模型实现量化选股。首先,我们通过获取股票的历史数据,进行特征工程和标签制作,将选股问题转化为一个分类问题。接着,我们使用 LightGBM 训练模型,并在验证集和测试集中评估了模型的表现。该选股策略的核心在于结合机器学习算法,从历史数据中寻找能够捕捉股票短期涨跌的关键特征,从而为投资者提供辅助决策支持。虽然本文的模型取得了一定的效果,但这只是量化投资领域的一小部分。

不想宅的冷同学 1346

用JBuilder2005开发spring MVC应用

用Jbuilder2005开发spring MVC应用 高科华  作者简介:高科华,南京航空学院计算数学专业硕士,有十年以上的企业信息化工作经验。目前的研究兴趣,J2EE企业应用、ERP软件研发、数据仓库系统研发。1.        下载spring包,网址如下http://www.springframework.org/download.html解压后的目录中包含

科华在线 1715

MOOS-ivp 实验三 MOOS简介(3)

MOOS-ivp 实验三 MOOS简介(3) 继上一篇文章继续对实验进行记录 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录MOOS-ivp 实验三 MOOS简介(3)六、A Simple Example with pXRelay1.pXRelay基本使用2.pXRelay简单例子3.pXRelay实验七、First Experiments in Modifying MOOS App Code1.下载一个MOOS模板文件2.打开MOOS模板文件总结 六、A Simple E

weixin_44151170的博客 2534

Java架构师之路 Spring学习笔记(一) Spring介绍

前言   这是一篇原创的Spring学习笔记。主要记录我学习Spring4.0的过程。本人有四年的Java Web开发经验,最近在面试中遇到面试官总会问一些简单但我不会的Java问题,让我觉得有必要重新审视下目前自己所掌握的Java基础可能后续会有很多笔记去记录我温习Java的过程。但这个是我Java的开端,希望我自己能够坚持下去,一天一篇,每天记录我的成长。成为Java架构师是我的梦想,我知道...

weixin_30469895的博客 141

模板匹配加速之金字塔分层搜索

图像金字塔是一种多分辨率图像表示方法,它通过一系列逐渐缩小或放大的图像来表示原始图像的不同尺度。高斯金字塔(Gaussian Pyramid):通过不断下采样(降采样)生成更小的图像。拉普拉斯金字塔(Laplacian Pyramid):通过高斯金字塔和差分操作生成一组残差图像。在模板匹配中,我们主要使用高斯金字塔来实现多尺度匹配。金字塔灰度模板匹配通过多尺度搜索策略,在保持较高准确率的同时显著提升匹配速度,尤其适用于:高分辨率图像处理实时检测系统移动端设备等资源受限场景。

weixin_44969144的博客 1732

华为OD机试真题 Java&Go 实现【优雅子数组】【100%通过率】【2022.11 Q4 新题】

如果一个数组中出现次数最多的元素出现大于等于K次,被称为K -优雅数组,k也可以被称为优雅阈值。例如,数组1,2,3,1、2,3,1,它是一个3-优雅数组,因为元素1出现次数大于等于3次,数组1,2,3,1,2就不是一个3-优雅数组,因为其中出现次数最多的元素是1和2,只出现了2次。给定一个数组A和k,请求出A有多少子数组是k-优雅子数组。

MISAYAONE的博客 1万+

除岁迎新 Java 2005回顾

google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//<script type="text/javascript"

java专栏 297

PCL RANSAC拟合空间圆【2026最新版】

RANSAC三维点云空间3D圆拟合。博客长期更新,本文最新更新时间为:2026年4月13日。代码在PCL1.15.0中测试通过

点云侠的博客 7455

用JBuilder2005开发spring MVC应用-multipart (fileupload)

用JBuilder2005开发spring MVC应用-multipart (fileupload)高科华 作者简介:高科华,南京航空学院计算数学专业硕士,有十年以上的企业信息化工作经验。目前的研究兴趣,J2EE企业应用、ERP软件研发、数据仓库系统研发。1.   按照“用JBuilder2005开发spring MVC应用”一文建立基本的spring应用2.       增加

科华在线 1872

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

用Jbuilder2005开发spring MVC应用-与表示层技术xslt集成

用JBuilder2005开发spring MVC应用-与表示层技术xslt集成高科华 作者简介:高科华,南京航空学院计算数学专业硕士,有十年以上的企业信息化工作经验。目前的研究兴趣,J2EE企业应用、ERP软件研发、数据仓库系统研发。1.       按照“  用JBuilder2005开发spring MVC应用”一文建立基本的spring应用2.       增加

科华在线 1488

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Java三十而立:Java 的30岁与Spring AI 1.0正式发布

三十岁的Java,依然充满活力。Spring AI 1.0的发布,为Java注入了AI时代的新动能。无论你是资深Java工程师,还是IT管理者,拥抱Spring AI,把握AI浪潮,都是下一个十年技术创新与职业成长的关键。让我们共同见证Java与AI的深度融合,迎接更加智能、高效、创新的未来!看到这里了还不给博主点一个:⛳️☀️⭐️关注!

攻城狮7号的博客 1475

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

2005 Java 综述&2006 Java 展望

2005 Java 综述 & 2006 Java 展望 matrix 发表于2005-12-23作者:matrix 来自:Matrix 2005 就要过去了。过去的一年,Mustang 没能出来,EJB3刚刚才提交最终草案,Ajax兴起但是五花八门不知道应该用谁,Aspectj 5出来了,但是缺乏惊喜。或许我们会说,过去的2005,Java界缺乏成绩,但是却毫无疑问,Java遥遥领先于其他语言。从

He Hao 的部落格 781

Photo Album: Spring of Jiading, 2005

Spring of Jiading, 2005桃花1油菜花梨花小蜜蜂蚕豆花旺财豆苗芹菜蚕豆耳朵梨花2More Photos...

victorpan 179

用JBuilder2005开发spring MVC应用-显示PDF/Excel文档

用JBuilder2005开发spring MVC应用-显示PDF/Excel文档高科华 作者简介:高科华,南京航空学院计算数学专业硕士,有十年以上的企业信息化工作经验。目前的研究兴趣,J2EE企业应用、ERP软件研发、数据仓库系统研发。1.   按照“用JBuilder2005开发spring MVC应用” -与表示层技术xslt集成一文建立spring应用2.    增加poi

科华在线 1529

java 连接sql2005_java连接sqlserver2005数据库心得体会

sqlserver数据库:java连接sqlserver2005数据库心得体会首先得下载驱动程序到微软网站下载Microsoft SQL Server 2005 JDBC Driver 1.2  解压Microsoft SQL Server 2005 jdbc driver1.2.exe得到sqljdbc.jar,用得时候直接加到classpath中去.设置SQL Server服务器防止出现com...

weixin_31004409的博客 275

Spring Framework Training Summary (August)

Releases Colin Sampaleanu August 16, 2005 (updated 2005-8-19 with missing date for Washington training). Interface21 is pleased to offer a number of Spring Framework training events in the upcoming pe...

[Blog][Domain] programb.blog.youkuaiyun.com 299

Java2005回顾与2006展望

2005 就要过去了。 过去的一年,Mustang 没能出来,EJB3刚刚才提交最终草案,Ajax兴起但是五花八门不知道应该用谁,Aspectj 5出来了,但是缺乏惊喜。 或许我们会说,过去的2005,Java界缺乏成绩,但是却毫无疑问,Java遥遥领先于其他语言。从11月的语言排行榜Java遥遥领先,到今年的Java图书销售统计上,Java图书销售总数是C#的2倍,PHP的2.5倍,Pe

fish2008的专栏 702

写给过去的2005年

过去的2005年,的确是有趣的、充实、辛苦的一年。我终于能在理想中行走,不管以后能走多远,我永远会记这第一步。如果说以前走了太多的弯路,经历了太多的周折,那么现在终于可以说,所有的一切,都是为了今天,付出了,也得到了。 先做个工作上的总结。 3月份加入一个千万级的软件项目,开始负责一个模块的的设计开发工作。 首当其冲要说的的当然份内的事,2005年,都能按版本计划完成本模块的开发工作,上线后运行...

那一键的风情 268

Spring Framework 1.2.6 是 Spring 框架的一个非常早期的版本,发布于 **2005 年 10 月 27 日*

- 修复了 Spring 1.2.5 中发现的若干 bug(如 AOP proxy 创建异常、JDBC `JdbcTemplate` 的空值处理问题、Hibernate 集成中的事务传播行为等); - 增强了对 JDK 1.4 和 5.0(当时为 beta/RC 阶段)的兼容性; - 改进了对 Struts 1.x 的集成支持(`DelegatingActionProxy` 等); - 文档和示例的小幅更新。

[Blog][Domain] programb.blog.youkuaiyun.com 440
上一篇: Spring学习笔记二(2006.1.4)
下一篇: 图片被IE自动缩小的问题
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值