Spring教程
Spring框架,由Rod Johnson开发,是一个非常强大的反转控制(IOC)框架,以帮助分离项目组件的依赖关系。
在本系列教程,将多个步骤提供一些例子,用来学习和解释Spring框架。
新的 Spring 4.1 教程 (2015/12/12)
增加了关于使用Spring EL,JavaConfig,AspectJ和Spring对象/XML映射(OXM)等许多Spring 4.0 的实例教程。
增加了关于使用Spring EL,JavaConfig,AspectJ和Spring对象/XML映射(OXM)等许多Spring 4.0 的实例教程。
Spring快速入门
快速入门了解Spring框架开发的基础。
-
1.0、Spring hello world实例
Spring3.0的hello world 实例,在新的Spring3.0开发需要什么。 -
1.1、Spring松耦合的实例一个例子用来演示Spring是如何使组件之间松散耦合的。
Spring JavaConfig
Spring 3.0支持JavaConfig,现在可以使用注解来配置Spring。
-
1.2、Spring JavaConfig 实例
使用@Configuration和@Bean演示到在Spring定义bean -
1.3、Spring JavaConfig @Import 实例
使用@Import组织Bean类模块化的实例
Spring 依赖注入(DI)
Spring如何使用依赖注入(DO)来管理对象的依赖关系。
-
1.4、Spring依赖注入 (DI)
Spring如何通过应用Setter注入和构造器注入的依赖注入(DI)设计模式实例 -
1.5、Spring DI 通过setter方法
通过setter方法依赖注入bean -
1.6、Spring DI 构造方法
可以通过构造方法依赖注入bean -
1.7.1、Spring构造方法注入类型歧义
构造函数注入参数类型歧义的问题总是发生在一个bean包含多个构造方法有多个参数
Bean基础
只需要在Spring IoC容器使用的类被认为是“Bean”,并可在Spring bean 的配置文件或者通过注解来声明。
-
1.7、Spring bean 引用实例
如何指定相同或不同的bean配置文件中的bean引用互相访问。 -
1.8、注入值到Spring Bean的属性
三种方法注入值到bean的属性。 -
1.9、加载多个Spring bean配置文件
开发人员总是在不同的模块文件夹归类不同的 bean 配置文件,这里有一个技巧,向您展示如何加载多个Spring bean 的配置文件。 -
2.0、Spring内部Bean实例
每当一个bean仅用于一个特定的属性,它总是建议将其声明为一个内部bean。 -
2.1、Spring bean作用域
Bean作用域是用来决定哪些bean实例的类型应该是从Spring容器中返回给调用者。 -
2.2、Spring集合 (List, Set, Map, and Properties) 实例
注入值到集合类型(列表,集,映射和属性)实例。 -
2.3、ListFactoryBean实例
创建一个具体的列表集合类(ArrayList 和 LinkedList),并注入到 bean 属性。 -
2.4、SetFactoryBean实例
创建一组具体的Set集合类(HashSet和TreeSet),并注入到bean属性。 -
2.5、MapFactoryBean实例
创建一个具体的映射集合类(HashMap和TreeMap中),并注入到bean属性。 -
2.6、Spring注入日期到bean属性 – CustomDateEditor
一般情况下,Spring接受日期变量,这里有一个技巧 - 使用CustomDateEditor来解决。 -
2.7、Spring PropertyPlaceholderConfigurer实例
通过一个特殊格式具体化部署详情到一个属性文件,并从bean配置文件访问获得 – ${variable} -
2.8、Spring bean配置继承
继承是非常有用,一个bean来分享共同的值,属性或配置。 -
2.9、Spring依赖检查
Spring4中提供了依赖检查模式,以确保所要求的属性已经在bean中设置。 -
3.0、Spring使用@Required注解依赖检查
依赖检查注释模式。 -
3.1、自定义@Required-style注解
创建自定义@Required-style注解,相当于@Required 注解 -
3.2、Bean InitializingBean 和 DisposableBean实例
执行 bean 初始化和销毁某些动作(接口) -
3.3、Bean init-method 和 destroy-method 实例
执行 bean 初始化和销毁某些动作(XML) -
3.4、Bean @PostConstruct 和 @PreDestroy 实例
执行 bean 初始化和销毁某些动作(注解)
Spring表达式语言
Spring 3.0引入了Spring表达语言,或Spring EL丰富而强大的表达式语言。
-
3.5、Spring EL hello world 实例
使用 Spring 表达式语言(EL)快速入门 -
3.6、Spring EL bean 引用实例
参考bean,bean属性使用一个点(.)符号。 -
3.7、Spring EL 方法调用实例
直接调用Bean方法 -
3.8、Spring EL 操作符实例
Spring EL支持大多数标准的关系,逻辑和数学运算符。 -
3.9、Spring EL 三元操作符(if-then-else) 实例
有条件的检查:if else then. -
4.0、Spring EL Arrays, Lists, Maps 实例
适用于映射和列表。 -
4.1、Spring EL 正则表达式实例
正则表达式来计算评估条件。 -
4.2、测试 Spring EL 与 ExpressionParser
如何轻松地测试Spring El。
Spring自动组件扫描
Spring是能够扫描,检测并自动注册 bean 的。
-
4.3、Spring自动扫描组件
让Spring自动扫描,检测和注册Bean。 -
4.4、Spring过滤器组件自动扫描
过滤器自动扫描模式的某些组件实例。
Spring自动装配Bean
Spring自动装配“auto-wiring"来装配或Bean类,无论是在XML和注释。
-
4.5、Spring自动装配Beans
Spring 5种自动装配方式总结。 -
4.6、Spring由类型(Type)自动装配
如果一个 bean 的数据类型是用其它 bean 属性的数据类型,那么自动装配它。 -
4.7、Spring由名称(Name)自动装配
如果一个 bean 的名称与其他bean属性的名称是一样的,那么可以自动装配它。 -
4.8、Spring由构造方法自动装配
由在构造函数的参数类型自动装配。 -
4.9、Spring由AutoDetect自动装配
这意味着选择“用构造函数自动装配”,如果默认构造函数被找到,否则使用“自动装配按类型”。 -
5.0、Spring 使用@Autowired注解自动装配
例子来说明如何定义注解 “auto-wiring” 模式。 -
5.1、Spring 自动装配@Qualifier实例
举个例子来确定哪些Bean有资格自动装配到某个字段上。
Spring AOP (面向方面编程)
Spring AOP的模块化方面横切关注点。简单地说,就是一个拦截器拦截一些方法。
-
5.2、Spring AOP通知实例 – Advice
有关不同类型的 Spring 建议说明和示例。 -
5.3、Spring AOP实例 – Pointcut , Advisor
有关不同类型的 Spring 的切入点和 Advisor 的解释和示例。 -
5.4、Spring AOP拦截器的序列
AOP拦截器的顺序会影响功能。 -
5.5、自动代理创建者实例
一个自动代理生成例子是用来为Bean自动创建代理对象,以避免造成许多重复的代理对象。
Spring AOP + AspectJ框架
由于Spring 2.0中对 AspectJ 更加灵活和强大的支持。然而,本实例在 Spring3.0 中应用说明。
-
5.6、Spring AOP + AspectJ注解实例
一个例子向您展示如何将AspectJ 注解与Spring框架集成。 -
5.7、Spring AOP + AspectJ 在 XML配置实例
Spring AOP 使用AspectJ 在XML基本配置。
Spring Object/XML 映射器
在Spring3.0,对象到XML映射(OXM)从Spring Web服务到核心Spring框架。
-
5.8、Spring Object/XML映射实例
Spring oxm + castor,转换对象到XML,反之亦然。
Spring JDBC支持
Spring提供了很多辅助类简化整个 JDBC 数据库操作。
-
5.9、Spring + JDBC实例
一个例子来说明如何集成 Spring 和 JDBC。 -
6.0、JdbcTemplate + JdbcDaoSupport 实例
使用Spring的JdbcTemplate和JdbcDaoSupport 类来简化整个JDBC数据库操作过程的一个实例。 -
6.1、Spring JdbcTemplate查询实例
这里有一些例子来说明如何使用JdbcTemplate的query() 方法来查询或从数据库中提取数据。 -
6.2、Spring JdbcTemplate batchUpdate() 实例
这里是一个 BATCHUPDATE()例子来说明如何执行批量插入操作。 -
6.3、Spring SimpleJdbcTemplate查询示例
更多的用户查询操作,或从数据库中提取数据的友好而简单的方法。 -
6.4、Spring SimpleJdbcTemplate batchUpdate()实例
使用SimpleJdbcTemplate类,一个Java5 的友好补充 JdbcTemplate 的一个批量更新的例子。 -
6.5、Spring SimpleJdbcTemplate类命名参数实例一个例子来说明如何使用命名参数作为SQL参数值,而这仅仅是在SimpleJdbcTemplate中支持。
Spring Hibernate支持
Spring 提供了许多方便的类来支持 Hibernate ORM框架。
-
6.6、Spring+Hibernate+MySql实例
使用 Spring 和 Hibernate 的一个简单的项目。 -
6.7、Spring + Hibernate+ MySql注解实例
使用Spring和Hibernate(注释版)的一个简单的项目。 -
6.8、Spring AOP在Hibernate的事务管理
一个例子来说明如何管理Hibernate事务与Spring AOP。 -
Struts + Spring + Hibernate集成
Spring、Struts和Hibernate框架集成的实例。
Spring E-mail支持
Spring 提供 MailSender 通过 JavaMail API 发送电子邮件。
-
6.9、通过MailSender发送电子邮件
使用Spring的MailSender通过Gmail的SMTP服务器发送电子邮件实例。 -
7.0、在bean配置文件中的电子邮件模板
硬编码所有电子邮件属性和消息,正文内容不是一个好的做法,应该考虑在 Spring的bean配置文件中定义电子邮件模板。
-
7.1、Spring发送带附件的Email
使用Spring来发送带附件的电子邮件示例。
Spring与其它Web框架集成
Spring集成其它Web框架。
-
7.2、Spring依赖注入servlet会话监听器
Spring提供了一个“ContextLoaderListener”监听器作为一个通用的方法,以使Spring依赖注入会话监听器应用到几乎所有其他的web框架。
-
Struts 2 + Spring集成实例
Spring和Struts2框架集成的实例。 -
Struts 2 + Spring + Quartz
计划程序集成示例
Spring + Struts 2 + Quartz集成实例 -
Struts 2 + Spring + Hibernate集成实例
Spring+Struts2+Hibernate的集成实例。
Spring问答
-
7.3、=
资源捆绑ResourceBundleMessageSource示例
ResourceBundleMessageSource解决文本信息在不同地区的最常见类。
-
一个例子来说明如何经由MessageSourceAware 接口的 bean 得到 MessageSource。
-
资源加载程序的getResource()示例Spring资源加载器提供了一个非常通用的getResource()方法来从文件系统,类路径或URL得到这样的资源(文本文件,媒体文件,图像文件...)。
Spring常见错误
一些 Spring 常见的错误消息:
- Cannot proxy target class because CGLIB2 is not available
- CGLIB is required to process @Configuration classes
- java.lang.ClassNotFoundException: org.exolab.castor.xml.XMLException
- java.lang.ClassNotFoundException: org.apache.xml.serialize.XMLSerializer
Spring参考
本站文章除注明转载外,均为本站原创或编译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创优秀实例教程
转载请注明:文章转载自:代码驿站 [http:/www.codeinn.net]
本文标题:Spring教程
本文地址:http://www.codeinn.net/spring/49.html
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创优秀实例教程
转载请注明:文章转载自:代码驿站 [http:/www.codeinn.net]
本文标题:Spring教程
本文地址:http://www.codeinn.net/spring/49.html