提示:
① 通过下面的简介可以快速的搭建一个可以运行的 SpringBoot 应用(估计也就2分钟吧),可以简单的了解运行的过程。
② 建议还是有一点 spring 和 springMVC的基础(其实搭建一个 SpringBoot 环境不需要也没有关系)
浏览器访问脚手架,创建项目。
IDEA 中使用脚手架。
项目 | Spring Boot jar | 普通的 jar |
---|---|---|
目录 | Boot-INF:应用的class和依赖jar;META-INF:清单;org.springframework.boot.loader:spring-boot-loader模块中的所有类 | META-INF:清单;class 的文件:jar 中的所有类 |
BOOT-INF | class:应用的类;lib:应用的依赖 | 没有BOOT-INF |
spring-boot-start | 执行 jar 的 spring boot 类 | 没有这部分 |
可执行 | yes | no |
<dependencies>
<!--
Spring Web 依赖
带有 starter 单词的叫做启动器(启动依赖)。
spring-boot-starter-xxxx : 是 spring 官方推出的启动器。
xxx-starter : 非官方推出的,由其他组织提供的。
-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<!-- 表示父项目-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.2</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>3.1.1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
package com.gdb.crm;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import java.util.Date;
/**
* 核心注解功能
* ① @SpringBootConfiguration:包含@Configuration注解的功能
* @Configuration:JavaConfig的功能,配置类,结合@Bean能够将对象注入到spring的IOC容器
* @SpringBootConfiguration标注的类是配置类,Application是配置类
*
* ② @EnableAutoConfiguration:开启自动配置。将spring和第三方库中的对象创建好,注入到spring容器,避免写XML,去掉样例代码。需要使用的对象,由框架提供
*
* ③ @ComponentScan:组件扫描器。<context:component-scan base-package="xxxx包"/>
* 扫描@Controller,@Service,@Repository,@Component注解,创建它们的对象注入到容器。
* springBoot约定:启动类,作为扫描包的跟(起点),@ComponentScan从项目的根开始扫描(包括它的子包中的类)
* 所以默认将 Application 启动类放在根包的下面。
* 总结:在入口做的事情是,将上面的三类对象放入到 spring 的 IOC 容器中。
*/
@SpringBootApplication
public class Application {
@Bean
public Date myDate(){
return new Date();
}
public static void main(String[] args) {
//run方法的抵押给参数是 源(配置类),从这里加载 bean,找到 bean 注入到 spring 的容器中。
SpringApplication.run(Application.class, args);
}
}