springboot系列四: sprintboot容器功能

在这里插入图片描述


⬅️ 上一篇: springboot系列三: sprintboot自动配置


🎉 欢迎来到 springboot系列四: sprintboot容器功能 🎉

在本篇文章中,我们将深入探讨 Spring Boot 的容器功能。通过理解这些容器功能,您可以更加灵活地管理和扩展 Spring Boot 应用程序。


🔧 本篇需要用到的项目: quickstart项目


Spring注入组件的注解

打开quickstart项目

Spring传统注解

说明:@Component,@Controller,@Service,@Repository 这些在Spring中的传统注解仍然有效,通过这些注解可以给容器注入组件。

案例演示

1.创建D:\idea_project\zzw_springboot\quickstart\src\main\java\com\zzw\springboot\bean\A.java

@Repository
public class A {
   
   }

2.测试MainApp.java, 其它注解不再一一测试.

@SpringBootApplication(scanBasePackages = "com.zzw")
public class MainApp {
   
   
    public static void main(String[] args) {
   
   
        //启动springboot应用程序/项目
        ApplicationContext ioc = SpringApplication.run(MainApp.class, args);
        System.out.println("ok");

        //演示Spring中传统的注解依然可以使用 @controler @service @repository
        A aBean = ioc.getBean(A.class);
        System.out.println("aBean=" + aBean);
    }
}

@Configuration

应用实例

●@Configuration应用实例需求
说明: 演示在SpringBoot, 如何通过 @Configuration 创建配置类来注入组件.

传统方式

●回顾传统方式如何通过配置文件注入组件. 基于XML配置bean
1.创建D:\idea_project\zzw_springboot\quickstart\src\main\java\com\zzw\springboot\bean\Monster.java

@Getter
@Setter
@ToString
@NoArgsConstructor
@AllArgsContructor
public class Monster {
    
    
    private Integer id;
    private String name;
    private Integer age;
    private String skill;
}

2.创建D:\idea_project\zzw_springboot\quickstart\src\main\resources\beans.xml创建容器配置文件的方式在SpringBoot中依然好使

<!--配置了Monster bean-->
<bean class="com.zzw.springboot.bean.Monster" id="monster">
    <property name="id" value="100"/>
    <property name="name" value="孙悟空"/>
    <property name="age" value="20"/>
    <property name="skill" value="金箍棒"/>
</bean>

3.在springboot项目中,依然可以使用spring的配置bean/注入bean/获取bean方式

@SpringBootApplication(scanBasePackages = "com.zzw")
public class MainApp {
    
    
    public static void main(String[] args) {
    
    
        //=====演示在springboot项目,依然可以使用spring的配置bean/注入bean/获取bean方式 start===

        ApplicationContext ac =
                new ClassPathXmlApplicationContext("beans.xml");
        Monster monster = ac.getBean("monster" , Monster.class);
        System.out.println("monster=" + monster);

        //=====演示在springboot项目,依然可以使用spring的配置bean/注入bean/获取bean方式 end=====

    }
}

使用@Configuration

●使用SpringBoot的@Configuration添加组件
1.创建D:\idea_project\zzw_springboot\quickstart\src\main\java\com\zzw\springboot\config\BeanConfig.java

配置文件和配置类都差不多, 但是在springboot中开发尽量用配置类来完成Bean的注入.

/**
 * 解读
 * 1.@Configuration 表示这是一个配置类,等价于配置文件
 * 2.程序员可以通过@Bean 注解注入bean对象到容器
 * 3.当一个类被 @Configuration 标识, 该类-Bean 也会注入到容器
 */
@Configuration
public class BeanConfig {
    
    

    /**
     * 解读
     * 1.@Bean: 给容器添加组件, 就是一个Monster bean
     * 2.monster01(): 默认 你的方法名monster01 作为bean的名字/id
     * 3.Monster: 注入类型, 注入bean的类型是Monster
     * 4.new Monster(200, "牛魔王" , 500 , "芭蕉扇"); 注入到容器中具体的bean信息
     * 5.@Bean(name = "monster_nmw"): 在配置/注入 bean 指定名字/id monster_nmw
     * 6.默认是单例注入
     * 7.通过 @Scope("prototype") 可以每次返回新的对象, 指定bean是多例
     */
    //@Bean(name = "monster_aliasName")
    @Bean
    public Monster monster01() {
    
    
        
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~ 小团子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值