Spring Boot文档阅读笔记-Spring Boot @Bean解析
发布日期:2021-06-30 10:46:59
浏览次数:2
分类:技术文章
本文共 3159 字,大约阅读时间需要 10 分钟。
利用SpringBoot的@Bean创建一个简单的Bean。
Spring的@Bean注解是放在方法上的,带上这个注解的方法会被Spring容器管理。并且这个方法要返回一个值(对象),这个值和对象会被BeanFactory注册为Bean。
下面是一个例子
程序运行截图如下:
项目结构如下:
pom.xmlsrc├───main│ ├───java│ │ └───cn│ │ └───it1995│ │ DemoApplication.java│ │ AppName.java│ └───resources│ application.properties│ logback.xml└───test └───java
下面是Maven代码,spring-boot-starer是核心启动包,他包含自动配置、日志、YAML。
4.0.0 org.springframework.boot spring-boot-starter-parent 2.4.3 cn.it1995 demo 0.0.1-SNAPSHOT demo Demo project for Spring Boot 1.8 org.springframework.boot spring-boot-starter org.projectlombok lombok true org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-maven-plugin org.projectlombok lombok
下面定义一个简单的接口,用于返回应用名
package cn.it1995.demo;interface AppName { String getName();}
application.peroperties文件包含了应用配置的设置。spring.main.banner-mode配置了Spring内部的属性,将其关闭,将spring.main.log-startup-info也关掉。新增app.name这个自定义属性
spring.main.banner-mode=offspring.main.log-startup-info=falseapp.name=SpringBootBean
下面是logbak.xml文件,用于配置日志的。设置日志等级为ERROR。这个功能是在spring-boot-starter包中的。
下面是启动类,包含bean的创建
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;@SpringBootApplicationpublic class DemoApplication implements CommandLineRunner { private static final Logger logger = LoggerFactory.getLogger(DemoApplication.class); public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } @Override public void run(String... args) throws Exception { logger.info("Application name: {}", appName.getName()); } @Autowired private AppName appName; @Bean public AppName getAppName(@Value("${app.name}") String appName) { return () -> appName; }}
@SpringBootApplication开启了自动装配和组建扫描;
@Autowired注解获将AppName的Bean注入进去了;
@Bean用于创建一个Bean,让Spring容器进行管理;
@Value获取application.properties中app.name的值。
源码打包下载地址:
转载地址:https://it1995.blog.csdn.net/article/details/115326467 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
表示我来过!
[***.240.166.169]2024年04月14日 22时12分05秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
iconv 文件编码转换
2019-04-30
QLineEdit设置ip输入规则
2019-04-30
Linux串口编程
2019-04-30
交互设计专业书籍推荐(内有部分书籍电子版下载)
2019-04-30
strcasestr函数
2019-04-30
h264 ES流文件通过计算first_mb_in_slice区分帧边界
2019-04-30
设置系统时间
2019-04-30
C++模板学习和C++ 模板套模板
2019-04-30
合 JSONP 和 jQuery 快速构建强大的 mashup
2019-04-30
自制基于地图的 mashup
2019-04-30
成为优秀程序员的十个有效方法
2019-04-30
Oracle计算时间差函数
2019-04-30
Linux开机启动十步骤
2019-04-30
source insight 字体设置
2019-04-30
Live555中RTP包的打包与发送过程分析
2019-04-30
TCP和UDP 协议发送数据包的大小
2019-04-30
用vlc搭建简单流媒体服务器(UDP和TCP方式)
2019-04-30
RTSP流媒体数据传输的两种方式(TCP和UDP)
2019-04-30
Q_DECLARE_METATYPE与qRegisterMetaType学习
2019-04-30
国外程序员推荐:每个程序员都应读的书
2019-04-30