@Configuration大悟!

当你在一个 Java 项目中看到 @Configuration 注解时,它实际上就是告诉 Spring:“嘿,这个类是用来配置我们应用程序的!”

想象一下,你有一个 Java 项目,里面有很多 Java 类。有些类是用来完成具体的业务逻辑,比如处理订单或者管理用户。而另一些类是用来告诉 Spring 如何创建和管理这些业务类的。这些告诉 Spring 如何管理的类就是配置类,而 @Configuration 就是用来标识这些类的。

让我们举个例子:

假设你有一个名为 DatabaseConfig 的类,你希望在这个类里配置数据库连接。你会在这个类上添加 @Configuration 注解。然后,你可能会在这个类里使用 @Bean 注解来声明一个方法,这个方法会返回一个数据库连接池或者一个数据库连接对象。这样一来,当 Spring 启动时,它会读取这个配置类,根据你的配置创建并管理数据库连接,让你的业务类可以方便地使用这些连接。

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import javax.sql.DataSource;

@Configuration
public class DatabaseConfig {

    @Bean
    public DataSource dataSource() {
        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setDriverClassName("com.mysql.jdbc.Driver");
        dataSource.setUrl("jdbc:mysql://localhost:3306/mydatabase");
        dataSource.setUsername("username");
        dataSource.setPassword("password");
        return dataSource;
    }
}

在这个例子中,DatabaseConfig 类使用 @Configuration 注解标记为配置类。然后,它使用 @Bean 注解声明了一个名为 dataSource 的方法,这个方法返回一个 DataSource 对象,用于配置数据库连接信息。

通过使用 @Configuration@Bean 注解,你可以让 Spring 知道哪些类是配置类,以及如何创建和管理 bean。这样,你的应用程序就能够更容易地配置和管理各种组件了。

相关推荐

  1. @Configuration

    2024-04-12 00:32:02       39 阅读
  2. 看完「繁花」我了:认真赚钱,终成

    2024-04-12 00:32:02       64 阅读
  3. 的数组匹配

    2024-04-12 00:32:02       62 阅读
  4. 因缘际会

    2024-04-12 00:32:02       38 阅读
  5. 悟"? ">如何在工作中"开"?

    2024-04-12 00:32:02       31 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-12 00:32:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-12 00:32:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-12 00:32:02       87 阅读
  4. Python语言-面向对象

    2024-04-12 00:32:02       96 阅读

热门阅读

  1. 【2】c++多线程技术之多线程标准库的使用

    2024-04-12 00:32:02       30 阅读
  2. Vue3中props的原理与使用

    2024-04-12 00:32:02       42 阅读
  3. python使用dataclass数据类有个坑

    2024-04-12 00:32:02       35 阅读
  4. 【QT教程】QT6布局管理

    2024-04-12 00:32:02       32 阅读
  5. js学习笔记5(API及DOM)

    2024-04-12 00:32:02       27 阅读
  6. 电厂业务数据笔记

    2024-04-12 00:32:02       36 阅读
  7. C++内存管理(个人笔记)

    2024-04-12 00:32:02       37 阅读
  8. Vue中实现回退到上一级目录或者回退到首页

    2024-04-12 00:32:02       39 阅读
  9. Vue插件使用详细介绍

    2024-04-12 00:32:02       36 阅读