springboot项目应该是当前主流的一种框架,同时也是一个非常好用的框架,今天我们先来说说什么是springboot,怎样创建一个springboot项目,以及一些常用的功能
什么是springboot
Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。简单来说,就是 Spring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架。
Spring Boot是开发者和Spring 本身框架的中间层,帮助开发者统筹管理应用的配置,提供基于实际开发中常见配置的默认处理(即习惯优于配置),简化应用的开发,简化应用的运维;总的来说,其目的Spring Boot就是为了对Java web 的开发进行“简化”和加“快”速度,简化开发过程中引入或启动相关Spring 功能的配置。这样带来的好处就是降低开发人员对于框架的关注点,可以把更多的精力放在自己的业务代码上。
springboot简单介绍
- 更广泛的+快速的 Spring 开发体验
- 一系列开箱即用的 starter (也是可以修改的)
- 一系列非功能性的自动化配置 (比如:嵌入的服务器,security,健康检查)
- 没有 XML 配置文件生成
创建springboot项目
创建springboot项目有三种方式:
- 在线创建
- 通过 IDE 来创建(IntelliJ IDEA、STS)
- 通过改造一个普通的 Maven 工程来实现
在线创建
首先进入在线创建网站
https://start.spring.io/
点击生成即可生成此项目,解压
解压后,使用 Idea 导入项目,File -> New -> Model from Existing Source… -> 选择解压后的文件夹 -> OK,选择 Maven 一路 Next,OK done!
如果使用的是 Eclipse,Import -> Existing Maven Projects -> Next -> 选择解压后的文件夹 -> Finsh,OK done!
通过 IDE 来创建 (常用)
我们通过idea创建,其实也是在第一种方式的网址创建,不过idea帮助我们完成一系列的操作
- 选择 File -> New —> Project… 弹出新建项目的框
- 选择 Spring Initializr,Next 也会出现上述类似的配置界面,Idea 帮我们做了集成
- 填写相关内容后,点击 Next 选择依赖的包再点击 Next,最后确定信息无误点击 Finish。
通过改造一个普通的 Maven 工程来实现
这种方式是在上面两种方式都不能创建,也就是网站奔溃的情况下创建的。
首先创建一个maven项目
在pom文件中添加依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.0-SNAPSHOT</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
然后在src下创建包,并创建Example 类 (类名可以修改) 内容如下
@RestController
@EnableAutoConfiguration
public class Example {
@RequestMapping("/")
String home() {
return "Hello World!";
}
public static void main(String[] args) {
SpringApplication.run(Example.class, args);
}
}
RestController 表示接口类,EnableAutoConfiguration表示开启自动化配置(spring+spring MVC) main表示启动方法
这样一个springboot工程就已经创建完成了
springboot启动类上的配置
我们都知道,在创建完成一个springboot项目时,会自动创建启动类,这些和改造maven的配置并不一样
我们创建好项目都有一个 @SpringBootApplication
当我们点进去查看时会发现是一个组合注解
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(
excludeFilters = {@Filter(
type = FilterType.CUSTOM,
classes = {TypeExcludeFilter.class}
), @Filter(
type = FilterType.CUSTOM,
classes = {AutoConfigurationExcludeFilter.class}
)}
)
@SpringBootConfiguration 里面有一个@Configuration 首先说明是一个配置类
@EnableAutoConfiguration 表示开启自动化配置
@ComponentScan 包扫描 会扫启动类所在的包下面的所有类,也包括包下面的子包下的所有类,所以要将启动类放在项目的根包下面,便于扫描,如果你一定要写在别的包下,这样也只需要在启动类上写一个注解即可 @ComponentScan(basePackage = “包名”) 即可
总结
使用 Spring Boot 可以非常方便、快速搭建项目,使我们不用关心框架之间的兼容性,适用版本等各种问题,我们想使用任何东西,仅仅添加一个配置就可以,所以使用 Spring Boot 非常适合构建微服务。
参考链接:http://www.ityouknow.com/springboot/2016/01/06/spring-boot-quick-start.html
一起学习,共同成长