一.Spring MVC配置的替代方案 我们已经了解如何通过AbstractAnnotationConfigDispatcherServlet- Initializer快速搭建了Spring MVC环境.在这个便利的基础类中,假设我们需要基本的DispatcherServlet和 ContextLoaderListener环境,并且Spring配置是使用Java的,而不是XML.尽管对很多Spring应用来说,这是一种安全的假设,但是并不一定总 能满足我们的要求.除了DispatcherServ…
文件上传 在 Web 应用中,允许用户上传文件是很常见的需求.文件上传通常是采用 multipart 格式,而 DispatcherServlet 并没有任何解析 multipart 请求数据的功能,它将这个解析的任务委托给了 Spring 中的 MultipartResolver 策略接口的实现,通过这个实现类来解析 multipart 请求中的内容. 从 Spring 3.1 开始, Spring 内置了两个 MultipartResolver 实现供我们选择: CommonsMultipa…
spring和web项目进行整合,其实就是在项目启动时,就创建spring容器,然后在servlet中使用spring容器进行开. 注意:为了页面可以访问到servlet,因此servlet必须放进tomcat或者类似的服务器容器中,如果把servlet放进spring容器中,前端页面是无法访问的 第一步:导入spring-web.jar包,因为有一些别的依赖关系,还需要导入spring-tx.jar,spring-aop.jar等包 第二步:编写web.xml配置文件 在web.xml配置一个…
在Spring中,bean作用域用于确定哪种类型的 bean 实例应该从Spring容器中返回给调用者.bean支持的5种范围域: 单例(singleton) - 每个Spring IoC 容器返回一个bean实例(默认) 原型(prototype)- 当每次请求时返回一个新的bean实例 请求(request) - 返回每个HTTP请求的一个Bean实例 会话(session) - 返回每个HTTP会话的一个bean实例 全局会话(globalSession)- 返回全局HTTP会话的一个be…
Spring MVC 的高级技术 1. Spring MVC配置的替代方案 1.1 自定义DispatcherServlet配置 AbstractAnnotationConfigDispatcherServletInitializer实际上还有更多的方法可以进行重载,从而实现额外的配置.此类的方法之一就是customizeRegistration().在AbstractAnnotationConfigDispatcherServletInitializer将DispatcherServlet注册…
Spring学习(九)-----Spring依赖检查 bean 配置文件用于确定的特定类型(基本,集合或对象)的所有属性被设置.在大多数情况下,你只需要确保特定属性已经设置但不是所有属性.. 对于这种情况,你需要 @Required 注解,请参见下面的例子: @Required示例 Customer对象,适用@Required在 setPerson()方法,以确保 person 属性已设置. package com.yiibai.common; import org.springframewor…
Spring使用@Autowired注解自动装配 在上一篇 Spring学习(三)-----Spring自动装配Beans示例中,它会匹配当前Spring容器任何bean的属性自动装配.在大多数情况下,你可能只需要在特定的 bean 自动装配属性. 在Spring中,可以使用 @Autowired 注解通过setter方法,构造函数或字段自动装配Bean.此外,它可以在一个特定的bean属性自动装配. 注 @Autowired注解是通过匹配数据类型自动装配Bean. 请参见下面的完整的例子来演示…
Servlet传统异常处理 Servlet规范规定了当web应用发生异常时必须能够指明, 并确定了该如何处理, 规定了错误信息应该包含的内容和展示页面的方式.(详细可以参考servlet规范文档) 处理方式 处理状态码<error-code> 处理异常信息<exception-type> 处理服务地址<location> Spring MVC 处理方式 所有的请求必然以某种方式转化为响应. Spring中特定的异常将自动映射为特定的HTTP状态码 使用@Response…
© 版权声明:本文为博主原创文章,转载请注明出处 Bean的自动装配(Autowiring) no:不启用自动装配,此时需要手动注入.参考:Spring学习三----------注入方式 default:优先执行constructor,然后byType,最后byName byName:根据属性名自动装配.此选项将检查容器并根据名字查找与属性完全一致的bean,并将其与属性自动装配 byType:如果容器中存在一个与指定属性类型相同的bean,那么将与该属性自动装配:如果存在多个该类型bean,那…
profile 不同于maven的profile, spring的profile不需要重新打包, 同一个版本的包文件可以部署在不同环境的服务器上, 只需要激活对应的profile就可以切换到对应的环境. @Profile({"test","dev"}) Java Config 通过这个注解指定bean属于哪个或哪些profile. 参数value是一个profile的字符串数组. 此注解可以添加到类或方法上. XML Config 对应的节点是beans的属性pro…