`
BabyDuncan
  • 浏览: 584161 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring mvc 注解基本配置

 
阅读更多

spring mvc 注解基本配置(@resource,@autowired,@Component...)

Spring2.5中使用注解装配属性 
可在Java代码中使用@Resource或者@Autowired注解进行装配,但需在XML中配置以下信息 
xmlns:context="http://www.springframework.org/schema/context" 
xsi:schemaLocation="http://www.springframework.org/schema/context 
http://www.springframework.org/schema/context/spring-context-2.5.xsd" 
然后显式的配置<context:annotation-config/> 
该配置隐式注册了多个对注解进行解析的处理器,如下列举 
AutowiredAnnotationBeanPostProcessor      CommonAnnotationBeanPostProcessor 
PersistenceAnnotationBeanPostProcessor    RequiredAnnotationBeanPostProcessor 
其实,注解本身做不了任何事情,和XML一样,只起到配置的作用,主要在于背后强大的处理器
 

另外,比较建议使用@Resource注解,而不要使用@Autowired注解 
因为@Autowired注解是Spring提供的,而@Resource注解是J2EE提供的 
在JDK6中就已经包含@Resource注解了,所以它没有跟Spring紧密耦合 
并且在使用Spring时,若使用了JSR-250中的注解,如@Resource//@PostConstruct//@PreDestroy 
那么还需要Spring安装目录中的SPRING_HOME\\lib\\j2ee\\common-annotations.jar包的支持 
这里面的@Resource注解就是在SPRING_HOME\\lib\\j2ee\\common-annotations.jar中的 

@Resource注解 
@Resource注解和@Autowired一样,也可以标注在字段或属性的setter方法上 
@Resource默认按名称装配,名称可以通过name属性指定。当找不到与名称匹配的bean时,才会按类型装配 
若注解标注在字段上且未指定name属性,则默认取字段名作为bean名称寻找依赖对象 
若注解标注在setter上且未指定name属性,则默认取属性名作为bean名称寻找依赖对象 
如果没有指定name属性,并且按照默认的名称仍找不到依赖对象时,它就会按类型匹配 
但只要指定了name属性,就只能按名称装配了 

@Autowired注解 
@Autowired默认是按类型装配对象的,默认情况下它要求依赖对象必须存在 
如果允许null值,可以设置它的required属性为FALSE,如@Autowired(required=false) 
若想要按名称装配,可以结合@Qualifier注解一起使用,如@Autowired(required=false)  @Qualifier("personDaoBean") 


-------------------------------------------------------------------------------- 

Spring2.5的组件自动扫描 
在一个稍大的项目中通常会有上百个组件,如果都使用XML的bean定义来配置组件的话 
显然会增加配置文件的体积,查找及维护也不方便 
而Spring2.5就为我们引入了组件自动扫描机制 
它可以在classpath下寻找标注了@Service、@Repository、@Controller、@Component注解的类 
并把这些类纳入Spring容器中管理,它的作用和在XML中使用bean节点配置组件是一样的 
使用自动扫描机制,则需配置<context:component-scan base-package="com.jadyer"/>启动自动扫描 
其中base-package指定需要扫描的包,它会扫描指定包中的类和子包里面类 
@Service用于标注业务层组件 
@Repository用于标注数据访问组件,即DAO组件 
@Controller用于标注控制层组件,如Struts中的Action 
@Component泛指组件,当组件不要好归类时,可以使用这个注解进行标注 

1、可以使用诸如@Service("personDao")修改bean名称,而它默认的是将首字母小写的类名作为<bean>名称 
2、若要更改<bean>作用域的话,可以使用@Scope("prototype")注解来修改<bean>作用域 
3、若想让<bean>实例化之后去执行初始化方法,可以使用@PostConstruct标注在方法上 
4、同样@PreDestroy注解标注在方法上,可以用来指定<bean>销毁时执行的方法 
这里的@PostConstruct是EJB3里面用来初始化bean的注解,它也不是Spring中的注解 
并且<context:component-scan base-package=""/>的背后注册了很多用于解析注解的处理器 
其中就包括了<context:annotation-config/>配置项里面的注解所使用的处理器 
所以配置了<context:component-scan base-package="">之后,便无需再配置<context:annotation-config>

分享到:
评论

相关推荐

    Spring MVC 基于注解实例

    Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于...

    IT学习者Spring MVC注解实例.pdf

    IT学习者Spring MVC注解实例.pdf

    最全的Spring MVC注解例子,异步请求,错误处理

    在这个“最全的Spring MVC注解例子”中,我们将深入探讨Spring MVC的核心注解,以及如何实现异步请求处理和错误管理。 1. **Spring MVC核心注解** - `@Controller`:标记一个类为处理HTTP请求的控制器。这是Spring...

    Spring MVC实例 MVC注解配置

    在这个实例中,我们将探讨如何利用MVC注解配置来简化Spring MVC应用的设置和管理。MVC模式(Model-View-Controller)是软件设计的一种经典模式,它将业务逻辑、数据和用户界面分离,使得代码更加模块化,易于维护。 ...

    Spring MVC 的注解使用实例

    在Spring MVC框架中,注解的使用极大地简化了配置,提高了开发效率。Spring MVC通过注解可以实现控制器、方法映射、模型数据绑定、视图解析等关键功能。本实例将深入探讨Spring MVC中常见的注解及其应用。 1. `@...

    Spring3.0MVC注解(附实例)

    首先,Spring MVC注解允许开发者以声明式的方式配置控制器,避免了传统的XML配置文件。这极大地简化了代码,提高了可读性和维护性。例如,`@RequestMapping`注解就是其中的关键,它可以在类级别或方法级别使用,用于...

    Spring MVC注解项目实例

    总结起来,这个"Spring MVC注解项目实例"涵盖了Spring MVC框架的核心元素,包括注解驱动的控制器、拦截器的使用,以及数据库操作。它为初学者提供了一个动手实践的机会,帮助他们快速掌握Spring MVC的开发技巧。

    spring mvc 注解例子

    首先,`@Controller` 是Spring MVC中定义控制器的基本注解。当标记在一个类上时,表明该类是一个处理HTTP请求的控制器。例如: ```java @Controller public class MyController { // ... } ``` 接下来,`@...

    spring mvc注解实例

    在这个实例中,我们将讨论如何使用注解来配置 Spring MVC。 首先,我们需要在 `web.xml` 文件中进行基本的配置。这个文件是 Java Web 应用的标准部署描述符,用来定义应用的启动和运行规则。在给出的 `web.xml` ...

    spring mvc 注解实例

    总的来说,这个"spring mvc 注解实例"项目为你提供了一个学习Spring MVC基本功能的起点,包括注解驱动的控制器、拦截器的使用以及数据库操作。通过运行提供的代码,你可以亲自体验和理解这些概念,从而更好地掌握...

    Spring MVC注解开发总结

    一、Spring MVC注解开发的基本实现步骤 1. **创建Web工程**:首先需要创建一个Java Web项目,包含Web-INF目录结构,以便存放Web应用的相关配置文件。 2. **设置Tomcat服务器**:配置并启动Tomcat服务器,作为Web...

    基于注解Spring MVC环境搭建

    这篇博文(尽管描述为空,但提供了链接)很可能是关于创建一个基本的Spring MVC项目并使用注解来管理控制器、视图解析和其他关键组件的教程。 1. **Spring MVC简介** Spring MVC是Spring框架的一部分,它提供了...

    基于jpa+hibernate+spring+spring mvc注解方式项目

    **基于JPA+Hibernate+Spring+Spring MVC注解方式项目详解** 在现代Java Web开发中,Spring框架扮演了核心角色,而Spring MVC作为其MVC(Model-View-Controller)实现,提供了强大的Web应用程序构建能力。同时,JPA...

    spring mvc 注解 增删改 实例

    在这个实例中,我们将重点讨论如何使用Spring MVC的注解进行数据的增删改操作,并结合Hibernate作为ORM(对象关系映射)工具。 首先,`@Controller`注解标记了一个类作为Spring MVC的控制器,负责处理HTTP请求。在...

    Spring mvc 注解Demo

    在本"Spring MVC注解Demo"中,我们将深入探讨如何利用注解简化Spring MVC的配置和控制器的实现,使其更适合初学者快速上手。 在Spring MVC中,注解的使用大大减少了XML配置,使得代码更加简洁且易于理解。以下是...

    Spring mvc 注解理解

    在Spring 2.5版本中,引入了完全基于注解的配置,使得开发者能够更便捷地创建和管理Controller。 首先,我们来看一下Spring MVC的核心组件: 1. **DispatcherServlet**:前端控制器,它是所有HTTP请求的入口点。...

    基于注解配置的spring mvc+jpa

    如果使用spring mvc 3.2+和servelt 3+容器(比如tomcat8),那么web.xml和applicationContext.xml都不是必须的,可使用基于注解的配置: 基于配置的集成例子源代码:

    使用Spring 2.5 基于注解驱动的 Spring MVC详解

    本文将介绍 Spring 2.5 新增的 Spring MVC 注解功能,讲述如何使用注解配置替换传统的基于 XML 的 Spring MVC 配置。 Spring MVC 注解驱动 在 Spring 2.5 中,Spring MVC 框架引入了注解驱动功能,使得开发者可以...

    spring mvc注解方式

    **Spring MVC注解方式** 1. **Controller注解**:`@Controller`是Spring MVC中的核心注解,用于标记一个类作为处理HTTP请求的控制器。在类上添加此注解后,Spring会将该类实例化,并将其纳入到Spring容器中管理。 ...

    spring 与 spring mvc 整合 配置讨论

    本文将深入探讨Spring与Spring MVC的整合配置,并结合标签"源码"和"工具"来解析相关的技术细节。 首先,Spring框架的核心特性包括依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented ...

Global site tag (gtag.js) - Google Analytics