`
p_3er
  • 浏览: 55779 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

第二章 IoC Annotation注入

 
阅读更多

1、命名空间

使用Annotation的方式,需要在spring的配置文件中配置命名空间。命名空间中,隐式地注册了多个对注解进行解析处理的处理器。



a、引入context命名空间

<beans
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
		http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
		http://www.springframework.org/schema/context
                http://www.springframework.org/schema/context/spring-context-3.0.xsd">

b、打开注解功能

<context:annotation-config />


2、@Autowired@Resource

@Autowired@Resource在使用上是没有任何区别的。即可以放于属性声明之前,也可以放于属性的setter方法头上。

只是@Autowired注解是由Spring提供的,它是按类型进行装配。而@Resource是由JavaEE提供的,它是按属性的名字进行装配,找不到名字后再找类型按类型装配。

@Autowired是推荐使用的。


3、具体使用:

UserDaoUserDaoImpl:

  1. publicinterfaceUserDao{
  2. publicvoidsave();
  3. }
  1. publicclassUserDaoImplimplementsUserDao{
  2. publicvoidsave(){
  3. System.out.println("保存用户...");
  4. }
  5. }

UserService接口及其实现类UserServiceImpl:

  1. publicinterfaceUserService{
  2. publicvoidaddUser();
  3. }

在UserServiceImpl中使用注解把UserDao对象注入进来使用。

public class UserServiceImpl implements UserService {
    //1
    @Autowired private UserDao userDao;

  
    public UserServiceImpl(UserDao userDao, String username) {  
        this.userDao = userDao;  
        this.username = username;  
    }  
  
    public void addUser() {  
        System.out.println(username);  
        userDao.save();  
    }  
} 

在上面注释1的地方还可以替换成以下几种方式:

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

@Resource private UserDao userDao;

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

配置文件:

 <beans
 xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:p="http://www.springframework.org/schema/p"
 xmlns:context="http://www.springframework.org/schema/context"
 xsi:schemaLocation="http://www.springframework.org/schema/beans  
   http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
   http://www.springframework.org/schema/context
         http://www.springframework.org/schema/context/spring-context-3.0.xsd">
    <context:annotation-config />

    <!--  配置文件中,UserDaoImpl与UserServiceImpl是相互对立,没有任何关系的。-->
    <bean id="userDao" class="cn.framelife.spring.dao.impl.UserDaoImpl"></bean>
    <bean id="userService" class="cn.framelife.spring.service.impl.UserServiceImpl"></bean>

<beans>

4、注意:

1、使用注解功能,必须是JDK5.0及以上版本。

2、一般来说,基本数据类型的属性不使用Annotation的方式注入,Annotation只用于Bean的装配。而且,如果不是必须,基本数据类型的属性一般不使用注入的方式。





分享到:
评论

相关推荐

    Spring IOC Annotation 注入 学习实例

    Annotation注入是Spring IOC的一种实现方式,它利用Java注解替代XML配置来管理Bean的依赖关系,使得代码更加简洁、可读性更强。 在Spring框架中,我们主要关注以下几个关键的注解: 1. `@Component`:这是一个基础...

    IoC 依赖注入 技术总结

    "IoC 依赖注入 技术总结" IoC 依赖注入技术是软件设计中的一种重要技术,旨在解决软件系统中的耦合问题。该技术的核心思想是将被调用构件实例化,并注入到调用构件之中,以实现软件系统的高内聚、低耦合。IoC 依赖...

    Spring Ioc 注解 依赖注入

    #### 二、IoC容器概述 在传统的Java应用程序中,对象的创建和管理通常由程序员来完成。这种方式会导致代码之间存在高度耦合,难以维护。而Spring通过其IoC容器实现了对对象的创建、配置和管理过程的解耦,使得开发...

    Spring - Annotation 自动匹配注入IOC

    在Spring框架中,注解(Annotation)自动匹配注入IoC(Inversion of Control,控制反转)是一种关键特性,它极大地简化了Java应用的配置管理。本文将深入探讨这一主题,帮助开发者更好地理解和利用这一功能。 首先...

    mvc4 ioc 依赖注入简单示例实现

    在没有IoC的情况下,对象通常会自己创建或查找依赖,而在IoC模式下,依赖关系由外部容器管理并注入到对象中。这样,对象不再负责管理自己的依赖,而是专注于执行其核心功能。 在ASP.NET MVC4中,Unity是一个流行的...

    Spring IOC的注入方式总结

    在Spring中,IOC的主要实现方式有两种:依赖注入(Dependency Injection,简称DI)和基于接口的配置。下面将对这两种方式进行详细阐述。 一、依赖注入(Dependency Injection) 1. **构造器注入**:通过构造函数来...

    C# IOC 依赖注入源码

    本压缩包中的"C# IOC 依赖注入源码"提供了IOCPerformanceTest项目,用于测试和比较不同IOC容器的性能。这通常对于大型企业级应用来说是非常重要的,因为正确的选择可以显著影响应用程序的启动速度和运行效率。 `...

    Spring Ioc(依赖注入)入门例子--属性注入

    Spring的核心特性之一就是它的Inversion of Control(IoC,控制反转)容器,也被称为Dependency Injection(DI,依赖注入)。这个概念是Spring框架使应用程序组件之间解耦的关键。让我们深入探讨一下Spring的IoC和...

    php 实现IOC set 注入

    然后,在我们的 `IOCContainer` 中,我们可以通过实例化 `MyClass` 并使用 `resolve` 方法注入依赖: ```php $container = new IOCContainer(); $container-&gt;register('Dependency', 'DependencyImplementation'); ...

    在Nutz中使用Ioc-Annotation的入门教程

    在Nutz中使用Ioc-Annotation的入门教程 Nutz是一个轻量级的Java开发框架,它提供了强大的IoC(Inversion of Control)容器和AOP(Aspect-Oriented Programming)支持。本教程将引导您了解如何在Nutz中利用Ioc-...

    spring4讲义-第二章spring与IoC

    本章主要介绍Spring框架中的控制反转(Inversion of Control,IoC)思想,以及依赖注入(Dependency Injection,DI)与依赖查找(Dependency Lookup,DL)两种实现IoC的方式。此外,还涉及了Spring程序开发的基本...

    Springioc注入Demo

    DI(Dependency Injection,依赖注入)是IOC的一种实现方式,通过配置或编程的方式,将对象之间的依赖关系在运行时动态注入,而不是由对象自己去查找和创建依赖。 在Spring IOC中,主要的注入方式有以下几种: 1. ...

    第二章 Spring4 IOC

    标题中的"第二章 Spring4 IOC"表明我们即将探讨的是关于Spring框架第四版本中的控制反转(Inversion of Control,简称IOC)这一核心概念。IOC是Spring框架的基础,它使得应用程序的组件能够脱离具体的依赖关系,提高...

    Spring.Net演示实例(IOC、AOP、属性注入、构造函数注入、通知过滤器)

    今天有空,写了基于C#使用Spring.Net的演示实例,希望能给有需要的人带来帮助,其中演示了配置下的IOC、AOP、属性注入、构造函数注入、通知过滤器、以及不使用配置直接代码硬编的AOP动态代码过程,另外还增加了...

    SPRING IOC注入方式过程解析

    SPRING IOC注入方式过程解析 SPRING IOC是一种轻量级的控制反转(Inversion of Control)容器框架,主要用于解耦合Java应用程序中的组件。其中,IOC(Inversion of Control)注入是SPRING IOC的核心机制之一。下面...

    一个实现IOC的小框架 利用Attribute简化Unity框架IOC注入

    本项目通过引入Attribute特性,旨在简化Unity框架的IOC注入过程,使代码更加简洁易读。Attribute在.NET中是一种元数据,可以附加到程序元素(如类、方法、属性等)上,提供额外的信息,通常用于运行时反射和自定义...

    Spring.Net IOC依赖注入原理流程解析

    Spring.Net IOC依赖注入原理流程解析 本文将详细介绍Spring.Net IOC依赖注入原理流程解析,通过示例代码介绍了非常详细,对大家的学习或者工作具有一定的参考学习价值。 一、什么是IOC? IOC(Inversion of ...

    CH02-IOC依赖注入.pptx

    理解什么是IoC和DI。 理解构造注入 理解不同数据类型的注入方法 掌握p命名空间注入 Bean自动装配

    Ioc注入讲解

    ### Ioc注入讲解 #### 1. 容器基础 ##### 1.1 容器初探 在IoC(Inverse of Control,控制反转)框架中,容器是核心概念之一,它负责对象的管理和创建。在传统的编程模式下,对象的创建通常由程序员通过`new`...

Global site tag (gtag.js) - Google Analytics