登 录
注 册
< 编程语言
Python
Java
Go
SQL
数据结构与算法
Spring Boot简介
Spring Boot启动器与自动配置
Spring Boot依赖注入与Runners
热门推荐>>>
中台架构
中台建设与架构
Hadoop
源码分析-NN启动(三)
HBase
HBased对接Hive
Linux
Nginx高可用
Python
数据导出工具
Flink
3分钟搭建Flink SQL测试环境
Kafka
Kafka对接Flume
深度学习
卷积神经网络
数据结构与算法
选择合适的算法
MySQL
数据备份恢复
计算机系统
信号量同步线程
Hive
Hive调优参数大全
其他框架
Azkaban Flow1.0与2.0
ClickHouse
表引擎-其他类型
技术成长
最好的职业建议
精选书单
技术成长书单—机器学习
技术资讯
数据在线:计算将成为公共服务
开发工具
IntelliJ IDEA 20年发展回顾(二)
系统工具
Mac命令行工具
虚拟化
内存虚拟化概述
云原生
云原生构建现代化应用
云服务
一文搞懂公有云、私有云...
Go
Go函数与方法
SQL
SQL模板
安全常识
一文读懂SSO
当前位置:
首页
>>
Java
>>
Spring Boot依赖注入与Runners
Spring Boot依赖注入与Runners
2023-09-10 18:07:47 星期日 发表于北京 阅读:605
![](/static/images/article_images/1694340202.532925.png) Spring Boot 没有任何代码布局可供使用。 但是,有一些最佳实践可以帮助我们 #### 默认包 没有任何包声明的类被视为默认包。 请注意,通常不建议使用默认包声明。 Spring Boot 在使用默认包时会导致 Auto Configuration 或 Component Scan 出现故障等问题。 注意 − Java 推荐的包命名声明约定是反向域名。 例如 − com.tutorialspoint.myproject ##### 典型布局 Spring Boot 应用程序的典型布局如下图所示 ![](/static/images/article_images/1694340284.831593.jpeg) Application.java 文件应该与 @SpringBootApplication 一起声明 main 方法 ``` package com.tutorialspoint.myproject; 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);} } ``` #### Beans 和依赖注入 在 Spring Boot 中,我们可以使用 Spring Framework 来定义我们的 bean 及其依赖注入。 @ComponentScan 注解用于查找bean,并用 @Autowired 注解进行相应的注入 如果你遵循 Spring Boot 典型布局,则无需为 @ComponentScan 注解指定任何参数。 所有组件类文件都会自动注册到 Spring Beans 以下示例提供了有关自动连接 Rest Template 对象并为其创建 Bean 的想法 ```java @Bean public RestTemplate getRestTemplate() { return new RestTemplate(); } ``` 以下代码显示了主 Spring Boot Application 类文件中自动装配的 Resttemplate 对象和 Bean 创建对象的代码 ``` package com.tutorialspoint.demo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; import org.springframework.web.client.RestTemplate; @SpringBootApplication public class DemoApplication { @Autowired RestTemplate restTemplate; public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } @Bean public RestTemplate getRestTemplate() { return new RestTemplate(); } ``` #### Spring Boot - Runners Application Runner 和 Command Line Runner 接口允许你在 Spring Boot 应用程序启动后执行代码。 你可以使用这些接口在应用程序启动后立即执行任何操作 ##### Application Runner Application Runner 是一个接口,用于在 Spring Boot 应用程序启动后执行代码。 下面给出的示例显示了如何在 main 主类文件上实现 Application Runner 接口 ```java package com.tutorialspoint.demo; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication implements ApplicationRunner { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } @Override public void run(ApplicationArguments arg0) throws Exception { System.out.println("Hello World from Application Runner"); } } ``` ##### Command Line Runner Command Line Runner 是一个界面。 它用于在 Spring Boot 应用程序启动后执行代码。 下面给出的示例显示了如何在 main 主类文件上实现 Command Line Runner 接口 ``` package com.tutorialspoint.demo; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication implements CommandLineRunner { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } @Override public void run(String... arg0) throws Exception { System.out.println("Hello world from Command Line Runner"); } } ```