<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # Spring Boot 列出 bean > 原文: [http://zetcode.com/articles/springbootlistbeans/](http://zetcode.com/articles/springbootlistbeans/) 在本教程中,我們列出了存儲在 Spring 容器中的所有 bean,包括內置和自定義 bean。 Spring 是流行的 Java 應用框架,而 Spring Boot 是 Spring 的演進,可幫助您以最少的精力創建獨立的,生產級的基于 Spring 的應用。 Spring 核心容器創建并管理 Bean。 可以通過`ApplicationContext`獲得這些 bean。 在以下應用中,我們列出了所有存儲的 bean。 該應用是命令行 Spring Boot 應用。 ```java $ tree . ├── pom.xml └── src ├── main │ ├── java │ │ └── com │ │ └── zetcode │ │ ├── Application.java │ │ ├── bean │ │ │ └── MyBean.java │ │ └── MyRunner.java │ └── resources └── test └── java ``` 這是 Spring Boot 應用的項目結構。 `pom.xml` ```java <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.zetcode</groupId> <artifactId>SpringBootListBeans</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.3.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> <name>SpringBootListBeans</name> </project> ``` 這是 Maven 構建文件。 `spring-boot-starter`是包括自動配置支持,日志記錄和 YAML 在內的核心啟動器。 該應用打包到一個 JAR 文件中。 `MyBean.java` ```java package com.zetcode.bean; import org.springframework.stereotype.Component; @Component public class MyBean { private final String message = "This is MyBean"; public String getMessage() { return message; } } ``` `MyBean`是由 Spring 創建和管理的自定義 bean。 Spring 自動檢測由`@Component`注解修飾的類,并將其存儲在 Spring 容器中。 `MyRunner.java` ```java package com.zetcode; import com.zetcode.bean.MyBean; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.context.ApplicationContext; import org.springframework.stereotype.Component; @Component public class MyRunner implements CommandLineRunner { @Autowired private ApplicationContext appContext; @Autowired private MyBean myBean; @Override public void run(String... args) throws Exception { System.out.println(myBean.getMessage()); System.out.println("List of beans:"); String[] beans = appContext.getBeanDefinitionNames(); for (String bean : beans) { System.out.println(bean); } } } ``` `CommandLineRunner`接口指示當`SpringApplication`中包含 bean 時應運行它。 它可以用來創建 Spring Boot 命令行應用。 ```java @Component public class MyRunner implements CommandLineRunner { ``` `MyRunner`也是一個 Spring bean,并在 bean 中列出。 ```java @Autowired private ApplicationContext appContext; ``` `ApplicationContext`將以`@Autowired`注解注入到字段中。 ```java @Autowired private MyBean myBean; ``` 同樣,我們注入自定義 bean。 ```java System.out.println(myBean.getMessage()); ``` 在這里,我們打印存儲在自定義 bean 中的消息。 ```java String[] beans = appContext.getBeanDefinitionNames(); ``` 從應用上下文中,我們獲得一個帶有`getBeanDefinitionNames()`的 bean 名稱數組。 ```java for (String bean : beans) { System.out.println(bean); } ``` Bean 名稱將打印到控制臺。 `Application.java` ```java package com.zetcode; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` 在`Application`中,設置 Spring Boot 應用。 設置 Spring Boot 應用。 `@SpringBootApplication`啟用自動配置和組件掃描。 Spring 將自動掃描 Bean,并同時拾取`MyBean`和`MyRunner`。 ```java $ mvn spring-boot:run -q ... This is MyBean List of beans: org.springframework.context.annotation.internalConfigurationAnnotationProcessor org.springframework.context.annotation.internalAutowiredAnnotationProcessor org.springframework.context.annotation.internalRequiredAnnotationProcessor org.springframework.context.annotation.internalCommonAnnotationProcessor org.springframework.context.event.internalEventListenerProcessor org.springframework.context.event.internalEventListenerFactory application org.springframework.boot.autoconfigure.internalCachingMetadataReaderFactory myRunner myBean ... ``` 我們運行該應用。 `-q` Maven 選項關閉 Maven 消息。 在本教程中,我們列出了存儲在 Spring 容器中的所有 bean。 您可能也對相關教程感興趣: [Spring Boot Bean](/articles/springbootbean/) , [Spring Boot `@Qualifier`注解](/articles/springbootqualifier/),[在 Spring Boot 中提供靜態內容](/springboot/static/), [Spring Boot `DataSourceBuilder`教程](/springboot/datasourcebuilder/), [Spring Boot iText 教程](/articles/springbootitext/), [Java 教程](/lang/java/)。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看