Spring_总结_03_装配Bean(二)之Java配置

简介: 一、前言 本文承接上一节:Spring_总结_03_装配Bean(一)之自动装配 上一节提到,装配Bean有三种方式,首先推荐自动装配。当自动装配行不通时,就需要采用显示配置的方式了。 显示配置有两种方案:Java 和 XML。

一、前言

本文承接上一节:Spring_总结_03_装配Bean(一)之自动装配

上一节提到,装配Bean有三种方式,首先推荐自动装配。当自动装配行不通时,就需要采用显示配置的方式了。

显示配置有两种方案:Java 和 XML。当需要显示配置时,首选类型安全并且比XML更强大Java配置。

 

二、Java配置

实现Java配置只需两步:

(1)使用@Configuration声明一个配置类

(2)在配置类中使用@Bean声明一个Bean,同时可通过方法名注入bean。

 

三、Java配置实例

package com.ray.blog.smartblog.service;

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

/**
 * @author : shira
 * @date : 2018/7/27
 * @time : 21:21
 * @desc :
 **/


@Configuration  //1.声明配置类
public class CDPlayerConfig {


    @Bean   //2.1 声明一个bean,spring会将其注册为上下文中的bean。bean的名称默认为方法名
    public ComPactDisc comPactDisc(){
        return new ComPactDisc();
    }

    @Bean(name = "comPactDisc3")   //2.2 可通过name属性指定bean的名称
    public ComPactDisc comPactDisc2(){
        return new ComPactDisc();
    }


    @Bean
    public CDPlayer cdPlayer(){
       return new CDPlayer(comPactDisc());    //3.1通过引用创建bean的方法来注入bean。默认情况下,Spring中的bean都是单例的。
    }

    @Bean
    public CDPlayer cdPlayer2(ComPactDisc comPactDisc){  //3.2 通过bean的名称注入bean。在Spring容器中,只要容器中存在某个bean,就可以在另外一个bean的声明方法的参数中注入
        return new CDPlayer(comPactDisc);
    }

    
}
View Code

 

目录
相关文章
|
1天前
|
Java Nacos 开发者
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
|
1天前
|
Dubbo Java 应用服务中间件
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架
|
7天前
|
Java 关系型数据库 MySQL
一套java+ spring boot与vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例
UWB (ULTRA WIDE BAND, UWB) 技术是一种无线载波通讯技术,它不采用正弦载波,而是利用纳秒级的非正弦波窄脉冲传输数据,因此其所占的频谱范围很宽。一套UWB精确定位系统,最高定位精度可达10cm,具有高精度,高动态,高容量,低功耗的应用。
一套java+ spring boot与vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例
|
8天前
|
负载均衡 Java 开发者
细解微服务架构实践:如何使用Spring Cloud进行Java微服务治理
【4月更文挑战第17天】Spring Cloud是Java微服务治理的首选框架,整合了Eureka(服务发现)、Ribbon(客户端负载均衡)、Hystrix(熔断器)、Zuul(API网关)和Config Server(配置中心)。通过Eureka实现服务注册与发现,Ribbon提供负载均衡,Hystrix实现熔断保护,Zuul作为API网关,Config Server集中管理配置。理解并运用Spring Cloud进行微服务治理是现代Java开发者的关键技能。
|
8天前
|
Java 数据库连接 开发者
浅谈Spring的Bean生命周期
浅谈Spring的Bean生命周期
17 1
|
9天前
|
安全 Java 数据安全/隐私保护
使用Spring Security进行Java身份验证与授权
【4月更文挑战第16天】Spring Security是Java应用的安全框架,提供认证和授权解决方案。通过添加相关依赖到`pom.xml`,然后配置`SecurityConfig`,如设置用户认证信息和URL访问规则,可以实现应用的安全保护。认证流程包括请求拦截、身份验证、响应生成和访问控制。授权则涉及访问决策管理器,如基于角色的投票。Spring Security为开发者构建安全应用提供了全面且灵活的工具,涵盖OAuth2、CSRF保护等功能。
|
10天前
|
Java 大数据 云计算
Spring框架:Java后台开发的核心
【4月更文挑战第15天】Spring框架在Java后台开发中占据核心位置,因其控制反转(IoC)、面向切面编程(AOP)、事务管理等特性提升效率和质量。Spring提供数据访问集成、RESTful Web服务和WebSocket支持。优势包括高效开发、灵活扩展、强大生态圈和广泛应用。应用于企业级应用、微服务架构及云计算大数据场景。掌握Spring对Java开发者至关重要。
|
13天前
|
XML Java 数据格式
Bean工厂探秘:解析Spring底层工厂体系BeanFactory的神奇之道
Bean工厂探秘:解析Spring底层工厂体系BeanFactory的神奇之道
19 0
Bean工厂探秘:解析Spring底层工厂体系BeanFactory的神奇之道
|
13天前
|
Java 关系型数据库 MySQL
高级对象装配:解析Spring创建复杂对象的秘诀
高级对象装配:解析Spring创建复杂对象的秘诀
27 0
高级对象装配:解析Spring创建复杂对象的秘诀
Java相关配置
Java相关配置
1221 0