SpringBoot——基础开发(上)

1 SpringBoot 简介

  Spring Boot 为简化 Spring 应用开发而生,Spring Boot 中的 Boot 一词,即为快速启动的意思。Spring Boot 可以在零配置情况下一键启动,简洁而优雅。为了让 Spring 开发者痛快到底,Spring 团队做了以下设计:
  简化依赖,提供整合的依赖项,告别逐一添加依赖项的烦恼;
  简化配置,提供约定俗成的默认配置,告别编写各种配置的繁琐;
  简化部署,内置 servlet 容器,开发时一键即运行。可打包为 jar 文件,部署时一行命令即启动;
  简化监控,提供简单方便的运行监控方式。

2 第一个SpringBoot项目

方式一:访问Spring Initializr 网址:https://start.spring.io/
在这里插入图片描述

方式二:IDEA中内嵌的Spring Initializr
在这里插入图片描述

3 Spring Boot 项目启动机制

3.1 前言

  Spring 本质上是一个容器,里面存放的是 Java 对象,放入容器的 Java 对象被称为 Spring 组件(Bean)。

  而 XML / 注解 / Java 类三种配置方式,只是形式不同,目的都是在容器中注册 Bean 。三种方式可以同时使用,只需注意Bean 命名不要发生冲突。

  当我们使用 Spring Boot 时会有变化吗?实际上,容器还是那个容器,配置也还是那三种配置。当然 Spring Boot 本身就是为了简化配置,所以基本不再使用 XML 配置方式了。

3.2 Spring Boot 是如何启动的

  Spring Boot 项目生成后,只有简简单单一个类,简单优雅。

实例

@SpringBootApplication
public class SpringBootHelloApplication {
   
	public static void main(String[] args) {
   
		SpringApplication.run(SpringBootHelloApplication.class, args);
	}
}

分析代码
  SpringApplication.run:Spring 应用的启动方法,运行该行代码后, Spring 应用就跑起来了。这个方法有两个参数, args 是命令行参数,此处没啥作用;另一个参数是 SpringBootHelloApplication.class,包含类的信息。
  这个类有啥信息啊?放眼看去,除了一个类名、一个静态方法外,并无其他。凭这些信息就能启动 Spring 应用?
  等等,还有一个注解 @SpringBootApplication ,该注解是标注在类上的,属于类的信息。Spring Boot 启动的秘密就在这个注解上。

3.3 神奇的 @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) })
public @interface SpringBootApplication {
   
}

解析
  这是一个组合注解,包含了多个注解的功能。
  首先是 @SpringBootConfiguration 注解,它继承自 @Configuration 注解,功能也跟 @Configuration 一样。它会将当前类标注为配置类了,我们在启动类中配置 Bean 就可以生效了。
  其次是 @ComponentScan 注解,用来指定我们要扫描的包,以便发现 Bean 。注意在默认情况下, SpringBoot 扫描该注解标注类所在包及其子包。当我们的控制器、服务类等 Bean 放到不同的包中时,就需要通过 @ComponentScan 注解指定这些包,以便发现 Bean 。
  最重要的是 @EnableAutoConfiguration 注解,用来启动自动配置。开启自动配置后, Spring Boot 会扫描项目中所有的配置类,然后根据配置信息启动 Spring 容器。
  拥有了 @SpringBootConfiguration ,就拥有了一个可以拿来即用的 Spring 容器环境了。

4 Spring Boot 使用模板引擎开发 Web 项目

4.1 前言

  当浏览器将请求抛给控制器,控制器处理好数据后,就跳转 JSP 等模板引擎页面。注意在跳转的同时,还会将数据组装好,也交给模板引擎处理。
  模板引擎会根据数据,和模板引擎的规则,动态生成 HTML 页面,最后返回给浏览器显示。

4.2 模板引擎使用场景

使用 Spring Boot 开发 Web 项目,大体上有两种方式。
  第一种方式,是后端服务化的方式,也是当前的主流方式。前端是静态的 HTML 页面,通过 Ajax 请求 Spring Boot 的后端接口。 Spring Boot 返回数据一般采用 JSON 格式,前端接收后将数据显示。
  第二种方式,是采取模板引擎的方式。前端的请求,到达 Spring Boot 的控制器后,控制器处理请求,然后将返回数据交给模板引擎。模板引擎负责根据数据生成 HTML 页面,最后将 HTML 返回给浏览器。

后端服务化的优点
  便于分工协作:后端可以按自己的进度开发接口,前端可以开发页面,需要的时候直接调用后端 API ;
  便于项目拓展:比如前期是做的网站,后续要加一个 APP ,后端接口可以直接复用;
  降低服务端压力:后端只提供数据,一部分业务逻辑在前端处理了。服务端要做的事情少了,自然压力就小。

模板引擎的优点
  模板引擎开发的页面,对搜索引擎 SEO 比较友好;简单的页面用模板引擎开发速度比较快,毕竟模板化的方法,目的就是减少重复提高效率。

4.3 Spring Boot 中常用的模板引擎

  Spring Boot 支持的模板引擎种类很多,常见的有 FreeMarker 、 Thymeleaf 、 JSP 。下面以为Thymeleaf例开发一个商品浏览项目。

4.4 项目实例

1)创建 Spring Boot 项目:略

2)在 pom.xml 中引入相关依赖

       <!-- 引入web项目相关依赖 -->
		<dependency>
			<groupId>org.springframework.boot</groupId
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值