`

使用Spring2.5的@Autowired实现注释型的IOC

阅读更多

使用Spring2.5的新特性——Autowired可以实现快速的自动注入,而无需在xml文档里面添加bean的声明,大大减少了xml文档的维护。(偶喜欢这个功能,因为偶对xml不感冒)。      

以下是一个例子:  

先编写接口Man:  

  1. public interface Man {      
  2.   
  3.       public String sayHello();      
  4.   
  5. }      

然后写Man的实现类Chinese和American:  

  1. @Service     
  2.   
  3. public class Chinese implements Man{      
  4.   
  5.     public String sayHello() {      
  6.   
  7.         return "I am Chinese!";      
  8.   
  9.     }      
  10.   
  11. }      
  12.   
  13.      
  14.   
  15. @Service     
  16.   
  17. public class American implements Man{      
  18.   
  19.     public String sayHello() {      
  20.   
  21.         return "I am American!";      
  22.   
  23.     }      
  24.   
  25. }      
  26.   

      @Service注释表示定义一个bean,自动根据bean的类名实例化一个首写字母为小写的bean,例如Chinese实例化为chinese,American实例化为american,如果需要自己改名字则:@Service("你自己改的bean名")。  

beans.xml  

  1. <?xml version="1.0" encoding="UTF-8"?>      
  2.   
  3. <beans xmlns="http://www.springframework.org/schema/beans"     
  4.   
  5.         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     
  6.   
  7.         xmlns:context="http://www.springframework.org/schema/context"     
  8.   
  9.         xsi:schemaLocation="http://www.springframework.org/schema/beans       
  10.   
  11.            http://www.springframework.org/schema/beans/spring-beans-2.5.xsd      
  12.   
  13.            http://www.springframework.org/schema/context      
  14.   
  15.            http://www.springframework.org/schema/context/spring-context-2.5.xsd">      
  16.   
  17.       <context:annotation-config/>      
  18.   
  19.       <context:component-scan base-package="testspring.main"/>      
  20.   
  21. </beans>      
  22.   

在spring的配置文件里面只需要加上<context:annotation-config/>和<context:component-scan base-package="需要实现注入的类所在包"/>,可以使用base-package="*"表示全部的类。  

编写主类测试:  

  1. @Service     
  2.   
  3. public class Main {      
  4.   
  5.     @Autowired     
  6.   
  7.     @Qualifier("chinese")      
  8.   
  9.     private Man man;      
  10.   
  11.      
  12.   
  13.     public static void main(String[] args) {      
  14.   
  15.         // TODO code application logic here      
  16. padding-top: 0px !important; padding-right: 3px !important; padding-bottom: 0px !important; padding-left: 10px !important; font-family: Verdana, Georgia, Arial, Helvetica, sans-serif; border-top-style: none; border-right-style: none; border-bottom-style: n
    分享到:
    评论

相关推荐

    使用Spring2.5的Autowired实现注释型的IOC

    使用 Spring 2.5 的 Autowired 实现注释型的 IOC 在 Spring 2.5 中,Autowired 是一个非常重要的特性,它可以实现快速的自动注入,无需在 XML 文档里面添加 bean 的声明,大大减少了 XML 文档的维护。下面我们将...

    spring2.5 注解

    使用Spring2.5的Autowired实现注释型的IOC , 使用Spring2.5的新特性——Autowired可以实现快速的自动注入,而无需在xml文档里面添加bean的声明,大大减少了xml文档的维护

    使用 Spring 2_5 注释驱动的 IoC 功能.mht

    **Spring 2.5 注释驱动的 IoC 功能详解** Spring 框架自 2.5 版本开始引入了对注解的强大支持,极大地简化了依赖注入(Dependency Injection,简称 DI)的配置过程。注解驱动的 IoC(Inverse of Control,控制反转...

    关于spring boot中几种注入方法的一些个人看法

    在 Spring 2.5 引入了 @Autowired 注释,我们平常直接引用的时候很少注意这些,只是自己写好了一个方法或者 springboot 自动配置好的一个方法我们要在另一个类中去调用,这个时候,我们就会采用该注释。 2. @...

    spring 源码中文注释

    Spring框架是Java开发中最广泛应用的轻量级框架之一,它以IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)为核心,极大地简化了企业级应用的开发工作。这份"spring 源码...

    基于Maven构建的Spring IoC源码实例

    在"基于Maven构建的Spring IoC源码实例"中,我们可以学到如何使用Maven搭建Spring项目,并通过Spring IoC实现组件间的依赖注入。以下是这个实例中可能包含的关键知识点: 1. **Maven项目结构**:了解标准的Maven...

    静态方法中调用Spring注入过程解析

    Spring框架使用IOC容器来管理Bean的生命周期,使得开发者可以专注于业务逻辑的实现。 @Autowired @Autowired是Spring框架提供的一个注解,用于实现依赖注入。@Autowired可以将Bean自动装配到容器中,使得开发者...

    简单手写springIOC注解模式

    3. **@Autowired**: Spring通过此注解实现依赖注入。Spring会根据类型或名称自动匹配并注入依赖。如果需要基于名称注入,可以添加`@Qualifier("dependencyName")`。 4. **@Repository、@Service、@Controller**: ...

    spring源码深度解析(包含所有spring源码,带全部的注释以及案例,很适合入门级)

    1. **IoC容器**:Spring的核心是IoC容器,它负责管理对象的生命周期和对象之间的依赖关系。IoC通过配置文件或注解来定义对象及其依赖关系,实现对象的创建和管理。在源码中,你可以看到`BeanFactory`和`...

    spring-source中文注释版.zip

    下载"spring-source中文注释版.zip"后,你可以使用IDEA这样的集成开发环境直接导入,通过阅读注释来深入理解Spring框架的工作机制,这对于提升Java开发技能和解决实际问题大有裨益。同时,结合Spring官方文档和其他...

    spring-framework-5.2.0.RELEASE-master.zip

    通过阅读`@Autowired`、`@PostConstruct`、`@PreDestroy`等注解的实现,我们可以了解到Spring如何进行自动装配。同时,对于`BeanDefinition`、`BeanPostProcessor`等关键接口的注释,能帮助我们深入理解bean的生命...

    @Commponent注解HelloWorld示例

    为了验证`@Component`注解是否正常工作,通常我们会编写一个测试类,使用`@RunWith(SpringJUnit4ClassRunner.class)`和`@ContextConfiguration`注解来启动Spring测试环境,并通过`@Autowired`注入`HelloWorld`bean...

    spring+maven项目工程

    在"通过注释实现IOC"部分,我们指的是使用Spring的注解驱动配置来管理对象之间的依赖关系。例如,@Autowired注解可以自动将匹配类型的bean注入到需要它的类中,无需显式地创建对象实例。此外,@Component、@Service...

    Spring_in_Action

    1. **依赖注入**:Spring的核心特性之一,如何通过XML或注解方式实现对象间的依赖关系管理,以及如何使用@Autowired和@Qualifier注解。 2. **AOP(面向切面编程)**:解释什么是切面,如何定义和使用通知(advice)...

    S2SH三大框架采用注释整合项目案例

    接着,Struts2的Action类会通过注解定义处理的请求和返回的结果,同时可能使用Spring的`@Autowired`注入相关的服务。最后,Hibernate的实体类和映射文件将全部通过注解来完成,使得数据库操作更加直观和简洁。 通过...

    Spring动态代理二.docx

    升级后,靠注释自动装配@Autowired 实现,但是底层还是靠 ref 实现。 集成 web: 在 web.xml 文件内添加监听,用来加载 Spring 的主配置文件。标准配置文件路径:配置文件放入 config 文件夹(日志配置文件保留在...

    spring-master-class:Spring Framework 5的更新介绍。成为了解Spring In Depth核心功能的专家。 您将在课程期间编写单元测试,AOP,JDBC和JPA代码。 包括对Spring Boot,JPA,Eclipse,Maven,JUnit和Mockito的介绍

    您将了解如何使用Spring注释-@ Autowired,@ Component,@ Service,@ Repository,@ Configuration,@ Primary...。 您将深入了解Spring MVC-DispatcherServlet,模型,控制器和ViewResolver 您将使用各种Sp

    java注解整理

    - 该注解用于标记任何可以被 Spring IoC 容器识别的类。当不确定具体作用域时,可以使用 `@Component`。 - 示例用法:标记一个普通的服务类,如 `@Component("userService") public class UserServiceImpl ...

    spring 4.0.7 源码

    在源码中,可以看到`org.springframework.beans`和`org.springframework.context`包下的类,如`BeanFactory`和`ApplicationContext`,它们是IoC容器的实现基础。 2. **AOP(Aspect Oriented Programming)**:...

Global site tag (gtag.js) - Google Analytics