一、SpringBoot基础[注解、组件注册、条件注释、属性注释]

一、注解

1.@Configuration

解释:是一个带有注解的类级别注解,表示一个配置类,用于定义和管理 Bean 的创建和配置,@Configuration 的主要用途是告诉 Spring Boot 这个类是一个配置类,Spring Boot 在启动时将会自动扫描到该类,并根据其中的配置信息创建和管理相应的 Bean

例子:

@Configuration
public class AppConfig {
    
    @Bean
    public MyService myService() {
        return new MyServiceImpl();
    }
    
    @Bean
    public MyRepository myRepository() {
        return new MyRepositoryImpl();
    }
}
// 在上面的示例中,AppConfig 类使用 @Configuration 注解标记为一个配置类,myService() 和 myRepository() 方法使用 @Bean 注解分别定义了两个 Bean。
// 通过使用 @Configuration 注解,Spring Boot 会在启动时自动扫描到 AppConfig 类,并根据其中的配置信息创建 myService 和 myRepository 这两个 Bean,方便其他组件进行依赖注入和使用

2.@Component

解释:@Component 注解用于标记一个类为 Spring Bean,在其中可以使用其他注解进行更细粒度的配置,例如 @Autowired 用于进行依赖注入,方便组件的协同工作

二、组件注册

解释:注册到Spring的应用程序上下文中,使它们能够被其他组件或者框架访问和使用

自己的类(doudou):

package com.gaodidi.Bean;

public class doudou {
    private String name;
    private String passwd;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPasswd() {
        return passwd;
    }

    public void setPasswd(String passwd) {
        this.passwd = passwd;
    }
}

注册:

package com.gaodidi.config;


import com.gaodidi.Bean.doudou;

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

@Configuration
public class MyConfig {
    @Bean
    public doudou mydoudou(){
        return new doudou();
    }
}

查看效果:

package com.gaodidi;

import com.gaodidi.Bean.doudou;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Main {

    public static void main(String[] args) {

        var a = SpringApplication.run(Main.class,args);
        String bgm[] = a.getBeanNamesForType(doudou.class);
        for (String s : bgm) {
            System.out.println(s);
        }
    }
}

三、条件注释

解释:Spring Boot 中的条件注解是一种特殊的注解,用于在运行时根据特定条件来决定是否启用或禁用特定的 Spring Bean

温馨小贴士:如ConditionalOnClass()有多个可写的参数方法,在idea里面长按ctrl然后鼠标点击函数即可进去查看,值对应的类型

  1. @ConditionalOnClass(name="com.gaodidi.Bean.big"):当存在后面的name所指向的类(该类为自己写的或者引用的)时,下面的函数生效
  2. @ConditionalOnMissingClass("com.gaodidi.Bean.big"):当不存在后面的name所指向的类(该类为自己写的或者引用的)时,下面的函数生效
  3. @ConditionalOnBean(value = Cat.class):当存在注册到springboot里面类时,下面的函数生效
  4. @ConditionalOnMissingBean(value = Cat.class):当不存在注册到springboot里面类时,下面的函数生效

四、属性注释

解释:属性注释就是可以在application.properties里面写入自己的初始的赋值(例xiaobaobei对应下面的prefix)
格式:

xiaobaobei.name="你好"
xiaobaobei.passwd="不好"

@ConfigurationProperties(prefix = "xiaobaobei") :用于获取配置文件中的属性值,当应用启动时,Spring Boot会自动将配置文件中相应的属性值注入到被@ConfigurationProperties注解标记的类中

@ConfigurationProperties(prefix = "xiaobaobei")
public class doudou {
    private String name;
    private String passwd;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPasswd() {
        return passwd;
    }

    public void setPasswd(String passwd) {
        this.passwd = passwd;
    }

    @Override
    public String toString() {
        return "doudou{" +
                "name='" + name + '\'' +
                ", passwd='" + passwd + '\'' +
                '}';
    }
}

@EnableConfigurationProperties(big.class) :主要用于导入外来的含有@ConfigurationProperties的包,因为它会直接让含有@ConfigurationProperties的包注册上(用法:写在配置类外面)

@Configuration
@EnableConfigurationProperties(big.class) //主要用于导入外来的含有@ConfigurationProperties的包,因为它会直接让含有@ConfigurationProperties的包注册上
public class MyConfig {
    @Bean

    public doudou mydoudou(){
        return new doudou();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值