Spring 基础知识 - 依赖注入

所谓的依赖注入是指容器负责创建对象和维护对象间的依赖关系,而不是通过对象本身负责自己的创建和解决自己的依赖。

依赖注入主要目的是为了解耦,体现了一种“组合”的理念。

无论是xml配置、注解配置还是Java配置,都被称为配置元数据,所谓的元数据即描述数据的数据。

声明Bean的注解:

@Component组件,没有明确的角色

@Service在业务逻辑层使用

@Repository 在数据访问层使用

@Controller 在展现层使用

注入Bean的注解:

@Autowired: spring提供的注解

@Inject: JSR-330提供的注解

@Resource: JSP-250提供的注解

代码演示:

1. 声明一个业务类

package com.net888.ioc;
import org.springframework.stereotype.Service;

@Service
public class FunctionService {

    public String sayHello(String word){
        return "Hello " + word  + "!";
    }
}

2. 注入一个业务类

package com.net888.ioc;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class UseFunctionService {

    @Autowired
    FunctionService functionService;

    public String SayHello(String word){
        return functionService.sayHello(word);
    }
}

3. 声明一个配置类

package com.net888.ioc;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@Configuration
@ComponentScan("com.net263.ioc")
public class DiConfig {
}

4. 测试类

package com.net888.ioc;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class RunApp {

    public static void main(String[] args){

        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(DiConfig.class);
        UseFunctionService useFunctionService = context.getBean(UseFunctionService.class);

        System.out.println(useFunctionService.SayHello("IOC... DI"));
    }
}

5. 运行结果

时间: 2024-11-05 11:29:57

Spring 基础知识 - 依赖注入的相关文章

spring四种依赖注入方式

平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中.依赖注入的另一种说法是"控制反转",通俗的理解是:平常我们new一个实例,这个实例的控制权是我们程序员,而控制反转是指new实例工作不由我们程序员来做而是交给spring容器来做. spring有多种

spring 四种依赖注入方式以及注解注入方式

平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员实例化, 而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中.依赖注入的另一种说法是“控制反转”,通俗的理解是:平常我们new一个实例,这个实例的控制权是我们程序员, 而控制反转是指new实例工作不由我们程序员来做而是交给spring容器来做. spring有多种依赖注

spring基础知识(三)——aop

spring基础知识(三)--aop面向切面编程 1.概念术语 aop面向切面编程(Aspect ariented Programming) 在开始之前,需要理解Spring aop 的一些基本的概念术语(总结的个人理解,并非Spring官方定义): 切面(aspect):用来切插业务方法的类. 连接点(joinpoint):是切面类和业务类的连接点,其实就是封装了业务方法的一些基本属性,作为通知的参数来解析. 通知(advice):在切面类中,声明对业务方法做额外处理的方法. 切入点(poin

spring学习笔记-依赖注入

学习过程访问的地址,按顺序理解: [email protected]注解与自动装配 spring四种依赖注入方式 Spring注解注入 <context:component-scan>使用说明 详细:Spring零配置通过注解实现Bean依赖注入总结

JavaEE开发之Spring中的依赖注入与AOP编程

一.快速创建Mava管理的Spring工程 因为本篇博客是讨论关于Spring的东西,所以我们就不创建WebApp的工程了.我们使用Spring来快速的创建一个Maven管理的工程.如下所示找到File->New->Maven Project选项来创建一个新的Maven Project,具体如下所示: 下方我们选择创建一个简单的Maven工程,跳过模板的选择.上篇博客我们在创建Maven工程时,是没有选择下方这个选项的,然后我们选择了一个WebApp的模板.而本篇博客,我们不需要WebApp的

spring四种依赖注入方式 (set,构造器,工厂,注解 )

平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中.依赖注入的另一种说法是"控制反转",通俗的理解是:平常我们new一个实例,这个实例的控制权是我们程序员,而控制反转是指new实例工作不由我们程序员来做而是交给spring容器来做. spring有多种

背水一战 Windows 10 (78) - 自定义控件: 基础知识, 依赖属性, 附加属性

原文:背水一战 Windows 10 (78) - 自定义控件: 基础知识, 依赖属性, 附加属性 [源码下载] 作者:webabcd 介绍背水一战 Windows 10 之 控件(自定义控件) 自定义控件的基础知识,依赖属性和附加属性 示例演示自定义控件的基础知识,依赖属性和附加属性1.自定义控件的示例/MyControls/themes/generic.xaml <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/

Spring基础知识之依赖注入

Spring框架的四大原则: 1)使用POJO进行轻量级和最小侵入式的开发. 2)通过依赖注入和基于接口编程实现松耦合. 3)通过AOP和默认习惯进行声明式编程. 4)使用AOP和模板(template)减少模式化代码. 1.1依赖注入: 控制反转(Inversion of Control - IOC)与依赖注入(dependency injection - DI)在Spring环境下是同等的概念. 控制反转是通过依赖注入实现的.所谓的控制反转指的是:容器负责创建对象和维护对象间的依赖关系. 依

Spring基础知识1--环境搭建、bean创建、依赖注入、注解注入

一.Spring两大核心内容 1.控制反转IOC/DI:  应用本身不负责对象的创建和维护,对象和依赖对象的创建完全交给容器管理. 2.AOP(面向切面编程):通过预编译的方式,在运行期通过动态代理的方式来实现的一种技术 (1)在项目中使用AOP管理事务,事务的开启,提交,回滚 (2)在项目中管理事务的传播特性. 二.Spring的环境搭建 1.导包:   2.创建Spring的配置文件 ApplicationContext.xml 1 <?xml version="1.0" e