一. Spring(bean)
1. Spring bean 的装配机制
- XML 显式配置
- Java 显式配置
- 隐藏的bean发现机制和自动装配(推荐)
2. 自动化装配
2.1 组件扫描
自动发现应用上下文中所创建的bean
@Component注解表示该类会作为组件类,并告知Spring要为这个类创建bean。
2.1.1 组件扫描的方式
@ComponentScan注解启用了组件扫描
XML配置 <context:component-scan>
2.2 自动装配
Spring 自动满足bean之间的依赖
@Autowired
3. Java代码进行装配
@Configuration
配置类
3.1 @Bean 声明bean
@Bean
public CompactDisc sgtPeppers() {
return new SgtPeppers();
}
3.2 JavaConfig中装配bean的最简单的方式就是创建bean的方法。
@Bean
public CDPlayer cdplayer(){
return new CDPlayer(sqtPeppers());
}
4.通过XML进行配置
4.1声明bean
<bean class="">
4.2 借助构造器注入初始化bean
*<constructor-arg>
*Spring 3.0 引入的c-命名空间
字面常量注入到构造器中
4.2 设置属性
该选择构造器注入还是属性注入?强依赖使用构造器注入,可选性依赖使用属性注入。
5. XML 和 JavaConfig混合使用
尽可能使用自动化配置,以免显式配置所带来的维护成本。
显式配置的情况下, 优先选择JavaConfig
二. 表单校验
1. Java 校验
在Spring MVC中提供了对Java校验API的支持,使用Java校验API,不需要额外配置,只需要保证在类路径下有这个Java API 的实现就可以,例如Hibernate Validator
- 在Spitter中添加校验注解
- 修改processRegistration()方法,启用校验功能。
三.视图解析
1. InternalResourceViewResolver ,这个视图解析器一般会用来解析JSP视图。
Spring提供了两个JSP标签库,用来帮助定义Spring MVC Web的视图。
- 用来渲染HTML表单标签,这些标签可以绑定model中的某个属性。
- 工具类标签
1.1 将表单绑定到模型。
<sf:errors>展现错误信息。
1.2 Spring 通用标签库
1.3 展现国际化信息
借助于 <s:message> 我们将硬编码的欢迎信息替换。<s:message> 会根据key来渲染文本。
Spring 有多个信息源的类,它们都实现MessageSource接口。常见的有ResourceBundleMessageSource,ReloadableResourceBundleMessageSource(能够重新加载属性信息,而不必重新编译货重启应用)。
2.Apache Tiles视图定义布局
定义适用于所有页面的通用页面布局。
配置Tiles视图解析器
3. 使用Thymeleaf
3.1 配置
在Spring中使用Thymeleaf,我们需要配置三个启用Thyeleaf与Spring集成的bean。
- ThymeleafViewResolver:将逻辑视图名称解析为Thymeleaf模版视图
- SpringTemplateEngine: 处理模版并渲染结果
- TemplateResolver:加载Thymeleaf模版
借助Thymeleaf实现表单绑定。