日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

Spring Boot文档阅读笔记-Spring Boot @Bean解析

發(fā)布時(shí)間:2025/3/15 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Boot文档阅读笔记-Spring Boot @Bean解析 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

利用SpringBoot的@Bean創(chuàng)建一個(gè)簡(jiǎn)單的Bean。

Spring的@Bean注解是放在方法上的,帶上這個(gè)注解的方法會(huì)被Spring容器管理。并且這個(gè)方法要返回一個(gè)值(對(duì)象),這個(gè)值和對(duì)象會(huì)被BeanFactory注冊(cè)為Bean。

下面是一個(gè)例子

程序運(yùn)行截圖如下:

項(xiàng)目結(jié)構(gòu)如下:

pom.xml src ├───main │ ├───java │ │ └───cn │ │ └───it1995 │ │ DemoApplication.java │ │ AppName.java │ └───resources │ application.properties │ logback.xml └───test└───java

下面是Maven代碼,spring-boot-starer是核心啟動(dòng)包,他包含自動(dòng)配置、日志、YAML。

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.4.3</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>cn.it1995</groupId><artifactId>demo</artifactId><version>0.0.1-SNAPSHOT</version><name>demo</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin></plugins></build></project>

下面定義一個(gè)簡(jiǎn)單的接口,用于返回應(yīng)用名

package cn.it1995.demo;interface AppName {String getName(); }

application.peroperties文件包含了應(yīng)用配置的設(shè)置。spring.main.banner-mode配置了Spring內(nèi)部的屬性,將其關(guān)閉,將spring.main.log-startup-info也關(guān)掉。新增app.name這個(gè)自定義屬性

spring.main.banner-mode=off spring.main.log-startup-info=false app.name=SpringBootBean

下面是logbak.xml文件,用于配置日志的。設(shè)置日志等級(jí)為ERROR。這個(gè)功能是在spring-boot-starter包中的。

<?xml version="1.0" encoding="UTF-8"?> <configuration><include resource="org/springframework/boot/logging/logback/base.xml" /><logger name="org.springframework" level="ERROR"/><logger name="cn.it1995" level="INFO"/> </configuration>

下面是啟動(dòng)類,包含bean的創(chuàng)建

package cn.it1995.demo;import org.springframework.beans.factory.annotation.Value; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean;@SpringBootApplication public class DemoApplication implements CommandLineRunner {private static final Logger logger = LoggerFactory.getLogger(DemoApplication.class);public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}@Overridepublic void run(String... args) throws Exception {logger.info("Application name: {}", appName.getName());}@Autowiredprivate AppName appName;@Beanpublic AppName getAppName(@Value("${app.name}") String appName) {return () -> appName;} }

@SpringBootApplication開(kāi)啟了自動(dòng)裝配和組建掃描;

@Autowired注解獲將AppName的Bean注入進(jìn)去了;

@Bean用于創(chuàng)建一個(gè)Bean,讓Spring容器進(jìn)行管理;

@Value獲取application.properties中app.name的值。

?

源碼打包下載地址:

https://github.com/fengfanchen/Java/tree/master/SpringBootBean

?

總結(jié)

以上是生活随笔為你收集整理的Spring Boot文档阅读笔记-Spring Boot @Bean解析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。