Spring 学习笔记 (一)
1. 使用版本 3.2.0的spring. 创建一个名称为TestSrping的普通web工程.
将spring的libs文件夹中的jar拷贝到WEB-INF/lib下,注意javadoc和sourc的不需要
2. spring 3的版本中去掉了依赖包,所以需要额外找到commons-logging-1.1.1.jar拷贝到WEB-INF/lib下
小试牛刀代码参考:test.spring包
3. Ioc控制反转,又叫依赖注入(Dependency Injection): 当某个Java实例(调用者)需要另一个Java实例(被调用者)
时,在传统的程序设计过程中,通常有调用者来创建被调用者的实例.而在依赖注入的模式下,创建被调用者的工作不再
由调用者来完成,因此称为控制反转;创建被调用者实例通常有SPring容器来完成,然后注入调用者,因此也称为依赖注入.
依赖注入有两种:
设值注入: Ioc容器使用属性的setter方法来注入被依赖的实例
构造注入: Ioc容器使用构造函器来注入被依赖的实例
区别: 设置注入时,Spring先调用Bean的无参构造器,创建实例,然后调用setter方法,
构造注入,Spring直接调用有参数的构造器
4. 设值注入:参考附件工程中的 test.ioc.setter包中代码
5. Sping 通过配置文件来配置依赖关系,参考工程中bean.xml
6. Spring 容器, 基本接口BeanFactory,子接口ApplicationContext
通常ApplicationContext的实现类:
FileSystemConfigApplicationContext,
ClassPathXmlApplicationContext,
AnnotationConfigApplicationContext
Web应用中:
XmlWebApplicationContext,
AnnotationConfigWebApplicationContext
7. 国际化
ApplicationContext接口 继承自MessageSource,
MessageSource接口有下面三个方法:
String getMessage(String code,Object[] args,Locale loc)
String getMessage(String code,Object[] args,Sring default,Locale loc)
String getMessage(MessageSourceResolvable resolvable,Locale loc)
当程序创建 ApplicationContext时,会自动在配置文件中查找messageBean的配置,
一旦找到,上述三个方法被委托给该messageBean,如果没有改Bean,ApplicationContext
查找其父配置中的messageBean,如果还没有找到,则系统会自动创建一个空的StaticMessageBean
的Bean,该Bean能接受上面三个方法的调用.
在Spring中通常使用ResourceBundlMessageSource这个类
8. ApplicationContext的事件机制
两个对象:
(1) ApplicationEvent:容器事件,可以是自定义的事件(一个类必须继承自ApplicationEvent)
(2) ApplicationListener:事件监听器,在Spring中配置了实现ApplicationListener接口的Bean
Spring容器就会把这个Bean当成容器事件的监听器.
当系统创建Spring,加载Spring容器是会自动触发容器事件,容器事件监听器可以监听容器事件,
也可以监听自定义事件.程序中可以通过调用ApplicationContext的publishEvent来触发事件.
内置事件:
(1) ContextRefreshedEvent:ApplicationContext容器初始化或者刷新时触发该事件。
(2) ContextStartedEvent:当使用ConfigurableApplicationContext接口的start()方法启动ApplicationContext容器时触发该事件。
(3) ContextClosedEvent:当使用ConfigurableApplicationContext接口的close()方法关闭ApplicationContext容器时触发该事件。
(4) ContextStopedEvent: 当使用ConfigurableApplicationContext接口的stop()方法停止ApplicationContext容器时触发该事件。
(5) RequestHandledEvent: Web相关事件,只能应用于是用DispatcherServlet的Web应用.当Spring处理用户请求结束后触发.
(包 test.springevent)
9. 在Spring的Bean中获得Spring容器(ApplicationContext的引用)
bean需要实现ApplicationContextAware 接口,该接口包含一个setApplicationContext方法,传入ApplicationContext参数.
这样容器在实例化bean时,会调用这个方法,并把容器本身作为参数传递给这个方法.
(包 test.bean.get.appcontext)
附件工程文件中,需要导入spring 3.2.0 版本的lib里面的jar包
相关推荐
以下是基于标题“struts+spring+hibernate3+webligic812环境配置备忘录”的详细知识点解析: ### 一、环境搭建与配置 #### 1. WebLogic Server安装与配置 - **安装过程**:首先,下载WebLogic Server 8.1.2版本的...
这篇备忘录将深入探讨 `applicationContext.xml` 文件在 Spring 3.1 中的角色、结构和常见配置元素。我们将讨论如何通过 XML 配置来管理 Bean、属性注入、AOP(面向切面编程)、事务管理和资源加载。 首先,`...
基于SpringBoot+Vue的备忘录系统源码+sql数据库(课程大作业).zip 基于SpringBoot+Vue的备忘录系统源码+sql数据库(课程大作业).zip 基于SpringBoot+Vue的备忘录系统源码+sql数据库(课程大作业).zip 【资源说明】 项目...
在Java Web开发中,SSHF(Struts2、Spring、Hibernate和FreeMarker)是一个常见的技术栈,用于构建高效、可维护的MVC应用程序。这些框架的整合能够提供强大的功能,如模型-视图-控制器架构、依赖注入、持久化管理和...
【移动平台多媒体备忘录】是一个专为手机用户设计的应用程序,它允许用户在移动设备上创建、存储和管理多媒体内容的备忘录。这款应用不仅涵盖了文本记录,还支持图片、音频和视频等多媒体形式,极大地丰富了备忘录的...
作者通过博客园分享自己在学习和应用Spring_Batch过程中的心得体会和经验教训,目的是为了备忘和引发更深入的讨论,以便收集更多的反馈和建议。希望这样的开放心态能吸引更多经验丰富的开发者参与讨论,共同推动...
在IT行业中,备忘录模块通常是指一个软件或应用程序中的功能部分,用于帮助用户记录、存储和管理重要的信息和待办事项。这个模块是许多个人和企业日常工作中不可或缺的工具,尤其是在java web环境下,它能够无缝集成...
Spring2.5.3+Struts2.0.11.1+Hibernate3.2.6整合备忘 (转载)
【标题】"s2sh框架实例——个人备忘录系统源码" 提供了一个学习和研究Web开发的宝贵资源,特别适合对Java Web技术感兴趣的初学者。S2SH是Struts2、Spring和Hibernate三个开源框架的组合,是Java领域广泛应用的MVC...
myfaces+ajax4jsf+spring+jpa+chartCreate 配置备忘 完整eclipse项目源代码
这是一个基于Java技术栈的Android大作业,项目名为“Cloud-notepad”,主要实现了云备忘录的功能,使用了Bomb作为基础框架。在这个项目中,开发者利用了Spring Boot、Spring Cloud和SSM(Spring Framework、...
- **Spring框架**:依赖注入、AOP、事务管理等,简化企业级应用开发。 - **JDBC**:Java Database Connectivity,用于连接和操作数据库。 9. **Java SE新特性** - **Lambda表达式**:简化函数式编程,从Java 8...
为了解决这些问题,需要设计和实现一个现代化的备忘录管理系统,该系统需要具有高效、可靠、安全等特点。 Java SSM 框架的应用 Java SSM 框架是一种流行的 Web 应用框架,它能够帮助开发者快速构建高效、可靠的 ...
基于SSM(Spring+SpringMVC+MyBatis)框架和MySQL数据库的备忘录系统,其功能设计通常围绕着用户的日常备忘需求展开,旨在提供一个高效、便捷的信息记录和检索平台。以下是对该系统功能的详细描述: 1. 用户管理 ...
【标题】"备忘录代码"指的是一个编程项目,它实现了备忘录功能。备忘录应用程序是常见的软件工具,允许用户记录、存储和管理日常生活中的待办事项、提醒和其他重要信息。在这个“beiwanglu.rar”压缩包中,包含的...
【标题】中的“大学毕业设计 项目实训 个人备忘录系统(java SSH网站源代码)”表明这是一个基于Java的SSH框架实现的个人备忘录系统,适用于大学生进行毕业设计或项目实训。SSH是Struts2、Spring和Hibernate三个开源...
9. AOP(面向切面编程)与反射:反射常用于实现AOP框架,如Spring,通过动态代理实现切面逻辑。 10. 动态代理:Java的`java.lang.reflect.Proxy`类允许创建动态代理,实现接口并在运行时拦截方法调用,这与反射密切...