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

Spring2.5之Annotation学习2

阅读更多

 

三、   @Resource( 重要、推荐)

还是需要在 xml 文件中配置 bean

(一)  JSR-250

JCP: Java Community Process 是由多个厂家出人来构成的 J2EE 组织,主要是用于定 Java 的一些新的标准

而每一个标签都可以称之为一个 JSR

而每一个新的 JSR 都会加一个数字是区别什么 JSR ,可以到官方网看看具体 JSR 定了哪些新的标准。

(二)  @Resource

代码:


import javax.annotation.Resource;

public class UserService { 

    private UserDao userDao = new UserDaoImpl ();

    public UserDao getUserDao() {

        return userDao ;

    }  

    // 在这里引用了一个资源,这个资源的名称和这个 setter 方法后面的成员属性名称一致 (userDao)

    // 注意这个 @Resource 是 J2EE 的 (import javax.annotation.Resource)

    @Resource

    public void setUserDao(UserDao userDao) {

        this . userDao = userDao;

    }

    public void add(User u){ userDao .save(u);}

} 
 

说明: 在这里引用了一个资源,这个资源的名称和这个 setter 方法后面的成员属性名称一致 (userDao)

注意这个 @Resource J2EE (import javax.annotation.Resource)

    @Resource 默认是根据 byName 来的,如果没有找到相同的名称再根据 byTyp e ,当然也可以指定 bean name 如下:

  

@Resource (name= "u2" )

    public void setUserDao(UserDao userDao) {

        this . userDao = userDao;

    } 
 

 

注意 一般使用 @Resource 而不会使用 @Autowired

 

不足:如果没有源码,就无法使用 annotation ,只能使用 xml

 

四、   @Componet

以上使用 @Autowired @Resource 注解时,还是需要在 xml 文件配置 bean ,这样就达不到完全使用 annotation 进行注解。因此现在引用 @Component 在那个 bean 前进行注解,表示那个类是需要的 bean

有了 @Componet 注解,这样就不需要在 xml 文件中配置 bean 了。

注意: @Componet Spring 的注解 ( org.springframework.stereotype.Component; )

 

例如:

   

  前缀部分见上面代码,以此略。。。

    < context:annotation-config />

    < context:component-scan base-package = "com.wjt276" />  

</ beans ><!— 不需要配置 bean 了 --> 
 

 

bean 类中需要使用 @Componet (或 @Service @Repository @Controller )注解这个类是 bean

 

代码:


import javax.annotation.Resource;

import org.springframework.stereotype.Component;

//  @Componet 注解默认 bean 的名称是类名首字母小写

// 也可以利用 value 属性指定 bean 的名称

@Component (value= "userService" )

public class UserService { 

    private UserDao userDao = new UserDaoImpl();

    public UserDao getUserDao() { return userDao ;}

    // 在这里引用了一个资源,这个资源的名称和这个 setter 方法后面的成员属性名称一致 (userDao)

    // 注意这个 @Resource 是 J2EE 的 (import javax.annotation.Resource)

    @Resource

    public void setUserDao(UserDao userDao) { this . userDao = userDao;}

    public void add(User u){ userDao .save(u);}} 
 

注意: @Componet 注解,默认 bean 的名称是类的首字母小写,当然也可以利用 value 属性指定 bean 名称(在 annotation 中属性为 value 可以不写,直接写值)

         一般建议 @Componet 注解后面都指定名称。

 

说明: Spring 在加载配置文件时, 发现有 < context:component-scan base-package = "com.wjt276" /> 标签, 并且后面的 base-package 属性指定了包名 ,就会在这个指定的包名下面搜索灰,看哪个类用 @Componet 进行了注解,如果有 Spring 就将其初始化到容器中,认为是一个 bean

 

五、   @Scope @PostConstruct@PreDestroy

@Scope 对应于 xml 配置文件的 scope 属性

@PostConstruct 对应于 xml 配置文件中的 init-method 属性

@PreDestroy 对于应于 xml 配置文件中的 destroy-method 属性

例如如下:


import javax.annotation.PostConstruct;

import javax.annotation.PreDestroy;

import javax.annotation.Resource;

import org.springframework.context.annotation.Scope;

import org.springframework.stereotype.Component;

@Component (value= "userService" )

@Scope ( "singleton" )

public class UserService {

    @PostConstruct

    public void init(){System. out .println( " 现在开始初始化 UserService" );}

    private UserDao userDao = new UserDaoImpl();

    public UserDao getUserDao() { return userDao ;}

    @Resource

    public void setUserDao(UserDao userDao) { this . userDao = userDao;}

    public void add(User u){ userDao .save(u);}

    @PreDestroy

    public void destroy(){System. out .println( "destory" ); } 
  

 

六、   注解对应的jar

 

1 @Autowired           org.springframework.beans.factory.annotation.Autowired;

2 @Qualifier             org.springframework.beans.factory.annotation.Qualifier;

3 @Componet           org.springframework.stereotype.Component;

4 @Resource             javax.annotation.Resource;

5 @Scope                  org.springframework.context.annotation.Scope;

6 @PostConstruct     javax.annotation.PreDestroy;

7 @PreDestroy          javax.annotation.PreDestroy;

 

分享到:
评论

相关推荐

    配置整合DWR3.0和Spring2.5使用annotation注解

    在本文中,我们将探讨如何将Direct Web Remoting (DWR) 3.0与Spring 2.5框架整合,并利用注解(Annotation)进行配置。DWR是一个允许JavaScript与Java服务器端进行交互的库,而Spring 2.5引入了对注解的强大支持,...

    struts2 hibernate3 spring2.5 annotation 整合

    文件Spring_3300_Registration_11可能是一个示例项目,包含了上述整合的实例,包括Action、Service、DAO、配置文件等,开发者可以通过学习和运行这个项目来理解和实践Struts2、Hibernate3、Spring2.5的整合以及注解...

    传智播客spring2.5源代码

    2. **注解驱动开发(Annotation-based Development)**:Spring 2.5开始大规模支持Java注解,比如`@Service`、`@Repository`和`@Controller`,它们分别用于标记业务层、数据访问层和控制层的组件。这使得XML配置文件...

    Spring MVC 2.5 annotation 学习

    博文链接:https://pesome.iteye.com/blog/236273

    struts2 spring2.5 hibernate3.0 annotation 整合

    Struts2、Spring2.5和Hibernate3.0是Java Web开发中三个非常重要的框架,它们各自负责不同的职责,但可以协同工作以构建高效、可维护的Web应用程序。本项目整合了这三个框架,并利用注解(Annotation)进行配置,...

    spring2.5源码

    Spring 2.5是Spring框架的一个重要版本,它在...通过深入学习Spring 2.5的源码,开发者可以更好地理解Spring框架的设计思想和工作原理,从而提高开发效率和代码质量。同时,这也为理解后续版本的改进和发展奠定了基础。

    Spring2.5_学习笔记.doc.zip

    首先,Spring2.5引入了基于注解的配置(Annotation-based Configuration),这极大地简化了XML配置文件的编写,使得应用程序的装配过程更加直观和简洁。开发者可以通过在类或方法上添加如@Service、@Repository、@...

    Struts2+Spring2.5+Hibernate3+annotation 整合程序

    这个"Struts2+Spring2.5+Hibernate3+annotation 整合程序"旨在展示如何将这三大框架与注解(Annotation)技术结合,以实现更高效、更简洁的代码编写。 Struts2是一个基于MVC设计模式的Web应用框架,它主要负责处理...

    spring2.5+hibernate3.2

    spring2.5 + hibernate3.2x 标注(annotation)开发的简单示例 http://blog.csdn.net/IamHades/archive/2008/01/11/2038188.aspx

    spring2.5官方jar

    2. **注解驱动的开发(Annotation-based Development)**:Spring 2.5引入了大量的新注解,如`@Autowired`、`@Service`、`@Repository`和`@Controller`等,极大地减少了XML配置文件的使用。这些注解简化了组件扫描和...

    Spring2.5中文帮助文档

    **Spring 2.5 中文帮助文档概述** Spring框架是Java平台上的...阅读"Spring2.5中文帮助手册.pdf"和"Spring2.5有哪些改进.txt"这两个文件,将能详细了解到这些改进的实施细节和使用方法,为实际开发工作提供有力支持。

    spring2.5 api

    Spring 2.5 API 是 Spring 框架的一个版本,发布于2008年,是当时的一个重要更新。这个版本引入了许多新特性,优化了已有功能,并为后续的3.0版本打下了基础。以下将详细介绍 Spring 2.5 API 中的关键知识点。 一、...

    spring2.5.jar

    2. **注解驱动的开发(Annotation-based Development)**:Spring 2.5大量引入了注解,例如`@Service`、`@Repository`和`@Controller`,用于标记业务层、数据访问层和表现层的类,简化了XML配置文件。 3. **AOP(面向...

    Struts2+Spring2.5+Hibernate3全注解实例详解

    超级详细的SSH2项目实例详解,并且附带两个项目详解。两种注解实现方式。不同的生成数据脚本实现。 在JavaEE企业级开发中,以SSH2框架为核心的应用非常广,大象根据项目实践经验,通过二个实例,详细的为大家讲解...

    使用 Spring 2.5 TestContext 测试框架

    在Spring框架中,TestContext模块为开发者提供了强大的测试支持,特别是在Spring 2.5版本中,这个测试框架进一步增强了测试的便利性和可扩展性。它允许我们以声明式的方式配置和管理测试环境,包括bean的初始化、...

    Spring2.5的新特性

    【Spring2.5的新特性】 Spring框架自诞生以来,一直致力于简化企业级应用的开发,提供强大且非侵入式的解决方案。Spring2.5在这个方向上迈出了一大步,尤其对于使用Java 5或更高版本的开发者来说,它带来了更多便利...

    Spring2.5-中文参考手册

    通过阅读这份《Spring2.5-中文参考手册》,开发者可以深入理解Spring的核心机制,学习如何有效地利用其特性构建健壮、可维护的企业级应用。无论是初学者还是经验丰富的开发者,都能从中受益匪浅。

    Spring2.5中文开发手册

    在Spring 2.5中,最重要的更新之一是全面支持Java 5的注解(Annotation),这使得开发者可以更加简洁、直观地配置依赖注入。例如,@Autowired、@Qualifier、@Resource等注解,让代码更加整洁,减少了XML配置文件的...

    Spring2.5使用AOP需要的aspectJ

    在Spring 2.5版本中,面向切面编程(AOP)是一个强大的功能,它允许开发者定义“切面”来封装横切关注点,如日志、事务管理、权限检查等,使得代码更加模块化和可重用。AspectJ是一个成熟的AOP框架,Spring在其AOP...

Global site tag (gtag.js) - Google Analytics