@EnableAutoConfiguration和@SpringbootApplication注解
一、@EnableAutoConfiguration
1
2
3
4
|
The second class -level annotation is @EnableAutoConfiguration . This annotation tells Spring Boot to “guess” how you <br>will want to configure Spring, based on the jar dependencies that you have added. Since spring-boot-starter-web added Tomcat and Spring MVC, <br>the auto-configuration will assume that you are developing a web application and setup Spring accordingly.<br><br>
Starters and Auto-Configuration Auto-configuration is designed to work well with “Starters”, but the two concepts are not directly tied. <br>You are free to pick-and-choose jar dependencies outside of the starters and Spring Boot will still do <br>its best to auto-configure your application.
|
这个注释告诉SpringBoot“猜”你将如何想配置Spring,基于你已经添加jar依赖项。如果spring-boot-starter-web已经添加Tomcat和Spring MVC,这个注释自动将假设您正在开发一个web应用程序并添加相应的spring设置。
自动配置被设计用来和“Starters”一起更好的工作,但这两个概念并不直接相关。您可以自由挑选starter依赖项以外的jar包,springboot仍将尽力自动配置您的应用程序。
spring通常建议我们将main方法所在的类放到一个root包下,@EnableAutoConfiguration(开启自动配置)注解通常都放到main所在类的上面,下面是一个典型的结构布局:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
com +- example
+- myproject
+- Application.java
|
+- domain
| +- Customer.java
| +- CustomerRepository.java
|
+- service
| +- CustomerService.java
|
+- web
+- CustomerController.java
|
这样@EnableAutoConfiguration可以从逐层的往下搜索各个加注解的类,例如,你正在编写一个JPA程序(如果你的pom里进行了配置的话),spring会自动去搜索加了@Entity注解的类,并进行调用
二、@SpringbootApplication
使用@SpringbootApplication注解 可以解决根类或者配置类(我自己的说法,就是main所在类)头上注解过多的问题,一个@SpringbootApplication相当于@Configuration
,@EnableAutoConfiguration
和
@ComponentScan 并具有他们的默认属性值
1
2
3
4
5
6
7
8
9
10
|
package com.example.myproject;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication //等同于 @Configuration @EnableAutoConfiguration @ComponentScanpublic
class Application {
public static void main(String[] args) {
SpringApplication.run(Application. class , args);
}
} |
相关推荐
本示例将深入探讨如何使用注解来实现事务控制以及如何在Spring Boot中运用多线程。 首先,让我们关注"注解事务"。在Spring框架中,我们主要依赖`@Transactional`注解来声明事务边界。当一个方法被这个注解标记时,...
总的来说,Spring Boot的这些注解极大地简化了Spring应用的配置,使得开发者能更专注于业务逻辑,而不需要处理大量的XML配置。通过合理地使用这些注解,你可以构建出高效、简洁的Spring Boot应用。
Spring Boot 注解 重试
**Spring Boot 常用注解详解** Spring Boot以其简洁的配置、快速的启动和集成众多优秀框架的能力,成为Java开发领域中的热门选择。在Spring Boot应用中,注解起着至关重要的作用,它们简化了配置,使得代码更加简洁...
spring-boot-mybaits-annotation:注解版本 spring-boot-mybaits-xml:xml配置版本 spring-boot-mybatis-mulidatasource:springboot+mybatis多数据源最简解决方案 spring-boot-mybatis-annotation-mulidatasource:...
- `@SpringBootApplication` 注解:它是`@Configuration`, `@EnableAutoConfiguration`, 和 `@ComponentScan`注解的组合,是Spring Boot应用的基础。 - 自动配置:Spring Boot会根据项目依赖自动配置相应的bean,...
我们可以使用Spring的注解驱动模式,如`@JobConfiguration`和`@StepScope`,来定义作业和步骤。 4. **创建读取器(ItemReader)、处理器(ItemProcessor)和写入器(ItemWriter)**:这是Spring Batch的三个核心...
Spring boot注解.m4a
然后,你可以通过在配置类上添加`@EnableAdminServer`注解来启用Spring Boot Admin Server的功能。 对于服务器部署,Spring Boot Admin Server可以作为Servlet应用或WebFlux应用运行。如果你想在WAR包中部署并在...
Spring Boot通过`@EnableAutoConfiguration`注解来启用自动配置功能,它利用类路径中的jar包依赖,根据添加的jar依赖猜测如何配置Spring。根据项目的类路径上的jar依赖,Spring Boot会自动配置应用程序。 #### 2.5....
《Spring Boot参考指南》是Spring Boot开发者的重要参考资料,它详细阐述了Spring Boot框架的核心特性、配置方式、自动配置原理以及如何构建微服务应用等关键知识点。Spring Boot是Java开发领域中一个极其流行的轻量...
### 十分钟上手Spring Boot #### 快速上手Spring Boot项目及配置 ##### Spring Boot简介 Spring Boot 是一款基于 Spring 架构的全新框架,它极大地简化了基于 Spring 的应用开发。Spring Boot 旨在提供快速应用...
1. 自动配置:Spring Boot通过`@EnableAutoConfiguration`注解来自动配置应用,它会根据项目中的依赖来决定哪些组件应该被自动配置。例如,如果项目中包含了`spring-boot-starter-web`起步依赖,那么Spring Boot将...
Spring Boot 是一个由 Pivotal 团队开发的框架,旨在简化基于 Spring Framework 的应用程序的初始设置和开发过程。它的核心理念是“约定优于配置”,这意味着 Spring Boot 在默认情况下已经预设了很多常用的配置,...
Spring Boot的核心注解是@SpringBootApplication,这是一个复合注解,包含@SpringBootConfiguration(用于配置文件管理)、@EnableAutoConfiguration(开启自动配置)和@ComponentScan(扫描Spring组件)。...
- 编写主类,使用 `@SpringBootApplication` 注解启动 Spring Boot 应用。 - 编写控制器,使用 `@RestController` 注解处理 HTTP 请求。 - 运行主类,应用即可启动。 **3. 示例代码** 在 `6.spring-boot-examples_...
在 Spring Boot 项目中,可以使用 @RestController 注解来标记一个 Controller,是 @Controller 和 @ResponseBody 这两个注解的集合。@RequestMapping 注解用于指定一个映射。由于内置的 Tomcat 默认端口是 8080,...
3. **自动配置(Auto-configuration)**:Spring Boot通过条件注解来自动配置应用,比如`@EnableAutoConfiguration`。当发现特定的类或库在类路径中时,它会自动配置相关的bean。 4. **Spring Application**:`...
接下来,我将详细介绍从给定文件中提取的知识点,主要包括Spring Boot的基本概念、核心特点、启动方式、核心注解@SpringBootApplication的组成部分以及Starters的详细信息。 Spring Boot基本概念: Spring Boot是一...
6. **条件注解**:Spring Boot使用`@Conditional`系列注解,如`@ConditionalOnClass`、`@ConditionalOnMissingBean`等,使得配置的启用基于特定条件,增加了代码的灵活性。 7. **属性绑定**:`@Value`和`@...