请注意断句。
前阵子复习了一下Spring,小总结。
最初用Spring应该是1.2版本吧。xml配置麻烦得能恶心死人,主要是和struts配合用,居然忍过来了。2.0以后逐渐加入了比较好的annotation支持,简化了xml配置,可是最近却不怎么用它了,CT就没有用上,因为其实Spring的每个模块都有不错的替代品,比如依赖注入的话Guice就已经很够用了。
手头上的版本是2.5。
蓝色是Sample代码1 注释驱动的依赖注入1.1 Autowired (和Guice的@Inject差不多)
Spring 2.5 引入了 @Autowired 注释,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。
@Autowired(required=false)private SomeStrategy strategy = new DefaultStrategy();
此时配置文件可能需要加入
<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/>
1.2 @Qualifier
Spring 允许我们通过 @Qualifier 注释指定注入 Bean 的名称,避免产生注入错误。
1.3 <context:annotation-config/> 其实就是
AutowiredAnnotationBeanPostProcessor 配置的代替品1.4 @Component虽然我们可以通过 @Autowired在 Bean 类中使用自动注入功能,但是 Bean 还是在 XML 文件中通过 <bean> 进行定义,通过@Component从 XML 配置文件中完全移除 Bean 定义的配置是让人感觉很舒服的特性之一。
同时应该在配置文件里加入扫描设置:
<context:component-scan base-package="org.net9.web.dummy"/>值得一提的是,和@Component具有一样功能的有@Repository,@Service,@Controller。有利于web应用的分层注释
1.5 @Scope可定义scope,可选的有prototype,session,
request,global和singleton,和Guice的@ApplicationScoped之类差不多了
2 基于注解驱动的MVC2.1 @Controller和@RequestMapping有这两个annotation很方便。@Controller定义MVC中的控制器,@RequestMapping控制URL转发请求。
@RequestMapping("/dummy/") //接受形如/dummy/的url@RequestMapping(params="mothod=list") //通过参数method,只接受该参数是list的url,和Struts的DispatchAction一个效果。另外还可以通过@RequestMapping只接受某种方式的web请求
@RequestMapping(params = "mode=submit",method = RequestMethod.POST) //只针对POST请求2.2 @RequestParam入参绑定的功能很贴心啊,就不用在处理方法里面再用request.getParameter了(当然,屏蔽了request并不一定是好处)。
public String hoge(@RequestParam("dummy")int dummy) {}3 国际化支持虽然不是什么让人欣喜的功能。配置xml里面加入配置,jsp页面就可以随意用,和Struts大同小异
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource" abstract="false" lazy-init="default" autowire="default" dependency-check="default"><property name="basename" value="Messages" /><property name="useCodeAsDefaultMessage" value="true" /></bean>4 测试支持本来测试要使用ClassPathXmlApplicationContext来先注入相关类的,有了AbstractDependencyInjectionSpringContextTests让人觉得很惊喜。只要继承一下然后重载getConfigLocations方法传入配置文件路径就会得到自动的注入
public class DummyDAOTest extends AbstractDependencyInjectionSpringContextTests{ protected String[] getConfigLocations(){ return CONTEXT_XML_LOCATIONS; } public static final String[] CONTEXT_XML_LOCATIONS = { "applicationContext.xml" }; @Autowired DummyDAO dummyDAO;} 发布时间:2009-03-22 03:18:31 | 阅读:353 | 评论:0
分享到:
相关推荐
springCloud是基于SpringBoot的一整套实现微服务的框架。他提供了微服务开发所需的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等组件。最重要的是, 跟...
我们从一个简单的容器开始,一步步的重构,最后实现一个基本的Spring框架的雏形,为了帮助我们更加深入的理解Spring的IoC的原理和源码。 详细内容见博文: 【SSH进阶之路】一步步重构容器实现Spring框架——从一个...
在本文档中,我们将详细介绍如何将 Spring、SpringMVC 和 Hibernate 框架集成,以便构建一个完整的 Web 应用程序。我们将介绍如何配置 Spring 框架,如何配置 SpringMVC 框架,如何配置 Hibernate 框架,並且如何将...
Spring最早由Rod Johnson在2003年创建,是一个轻量级的Java开发框架,它覆盖了JavaSE和JavaEE的多个层级,被称为一站式(full-stack)轻量级开源框架。 #### 二、Spring框架的起源与发展 ##### 2.1 背景介绍 ...
提供Spring框架的基本功能,其主要组件是BeanFactory,是工厂模式的实现。 Spring 上下文。向Spring 框架提供上下文信息,包括企业服务,如 JNDI、EJB、电子邮件、国际化、校验和调度等。 Spring AOP。通过配置管理...
* Bean:在 Spring 框架中,Bean 是一个核心概念,表示一个可以被 Spring 框架管理的对象。 * DI(Dependency Injection):在 Spring 框架中,DI 是一种设计模式,能够将对象的耦合度降低,提高对象的灵活性和可...
至此,你已经成功地搭建了一个基础的Spring框架环境。然而,Spring的功能远不止这些。它还包含了对数据库操作的支持(如JDBC、JPA、Hibernate),Web MVC框架,以及各种其他模块如Spring Security(安全)、Spring ...
新特性和增强功能在Spring框架3.0 2.1。 Java 5 2.2。 改进文档 2.3。 新的文章和教程 2.4。 新模块的组织和构建系统 2.5。 概述的新特性 2 5 1。 核心api更新Java 5 2 5 2。 弹簧表达式语言 2 5 3。 这个控制反转...
Spring : 春天 —>给软件行业带来了春天 ... 本身就是一个大杂烩 , 整合现有的框架技术。 你是否不了解spring,到底是什么,一张图完美诠释了spring的组成,优点,代理设计模式,面向切面编程,事务,整合mybatis等等。
首先,Spring框架是核心,它提供了一个全面的编程和配置模型,用于简化企业级应用的开发。Spring的依赖注入特性使得对象之间的关系在运行时动态地决定,而不是硬编码在类的内部。这样,我们可以更容易地进行单元测试...
整个springcloud 框架的模板,包含EurekaServer注册中心,服务提供端,服务调用端,熔断器,负载均衡-动态路由,配置中心(github 托管配置文件),自动更新配置中心,框架的一个整合,适合学习springcloud 框架的...
7. **Spring MVC**:是一个全功能的Web应用MVC框架,构建在核心容器之上,为Web开发提供了高度的灵活性和可定制性。 四、示例解析 为了更好地理解Spring框架的作用,我们可以通过一个简单的示例来加以说明。假设...
Hibernate则是一个ORM框架,提供了Java对象与数据库之间的映射,使得数据库操作更加直观。 通过学习这些电子书,你不仅可以掌握Spring框架的精髓,还能理解如何将它与其他框架(如Struts和Hibernate)结合使用,以...
3. **Web**:Spring的Web模块提供了用于构建Web应用程序的工具,如Spring MVC,这是一个模型-视图-控制器架构,简化了Web应用程序的开发。此外,Spring Web Services模块支持创建基于SOAP和RESTful的Web服务。 4. *...
在"SSM--Spring+SpringMVC+Mybatis+Mysql框架案例实践"中,开发者可能已经创建了一个使用MySQL数据库的示例项目。项目中可能包含了以下关键组件: 1. **实体类(Entity)**:代表数据库中的表,通常会包含对应的...
除此之外,书中还可能涉及Spring Boot,它是Spring框架的一个子项目,旨在简化Spring应用的初始搭建和运行过程。Spring Boot通过默认配置加快开发速度,并且支持快速启动微服务。 测试部分,Spring提供了强大的单元...
在学习过程中,你还将接触到Spring Boot,这是一个基于Spring框架的快速开发工具,它简化了Spring应用的初始搭建和配置过程,让开发者可以更快地专注于业务逻辑。Spring Security则是Spring生态中的安全组件,提供...
Spring框架是Java开发中最常用的轻量级开源框架...以上这些jar包构成了Spring框架的核心组件,它们协同工作,为Java开发者提供了一个强大、灵活且易于维护的开发环境。在实际项目中,根据需求选择相应的模块引入即可。