zoukankan      html  css  js  c++  java
  • Spring Bean,什么是Bean?

    什么是Bean?

    Spring Bean是被实例的,组装的及被Spring 容器管理的Java对象。

    Spring 容器会自动完成 @bean对象的实例化。

    创建应用对象之间的协作关系的行为称为:装配(wiring),这就是依赖注入(DI)的本质。

    Spring 三种配置方案

    1.在XML中进行显示配置

    2.使用Java代码进行显示配置

    3.隐式的bena发现机制和自动配置 (首选推荐)

    一、自动化配置bean

    1.组件扫描(component scanning):Spring 会自动发现应用上下文中所创建的bean。
    2.自动装配(autowiring):Spring会自动满足bean之间的依赖。

    
    package com.stalkers.impl;
     
    import com.stalkers.ICompactDisc;
    import org.springframework.stereotype.Component;
     
    /**
     * Jay同名专辑
     * Created by stalkers on 2016/11/17.
     */
    @Component
    public class JayDisc implements ICompactDisc {
     
        private String title = "星晴";
     
        public void play() {
            System.out.println(title + ":一步两步三步四步,望着天上星星...");
        }
    }
    
    

    Component注解作用:

    表明该类会作为组件类

    不过,组件扫描默认是不开启用的,我们还需要显示配置下Spring,从而命令它去寻找到 @Component注解的类,并为其创建 bean。

    通过为bean添加注解实现自动装配

    如果所有对象都是独立的,彼此之间没有任何依赖,那么使用组件扫描就能自动化装配bean。

    但是实际工作中,很多对象会依赖其他对象完成任务。这时候就需要能够将组件扫描得到bean和他们依赖装配在一起。这就是自动装配(autowiring)

    
    @Component
    public class CDPlayer implements IMediaPlayer {
     
        private ICompactDisc cd;
        
        @Autowired
        public CDPlayer(ICompactDisc cd) {
            this.cd = cd;
        }
     
        public void play() {
            System.out.println("cd Play:");
            cd.play();
        }
    }
    
    

    Autowired的多种方式

    1.构造器注解(constructor)

    2.属性setter注解

    3.field注解

    不管使用上面三种的那种方法,Spring都会满足声明的依赖。

  • 相关阅读:
    C语言I博客作业08
    作业7
    作业6
    作业5
    作业--4
    java基础学习--I/O流
    刷题记录--[CISCN2019 华北赛区 Day2 Web1]Hack World
    ADB测试Android真机
    sqli-labs通关笔记
    Tensorflow入门
  • 原文地址:https://www.cnblogs.com/nineberg/p/12286519.html
Copyright © 2011-2022 走看看