前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBoot介绍

SpringBoot介绍

作者头像
姜同学
发布2022-10-27 16:07:35
2130
发布2022-10-27 16:07:35
举报
文章被收录于专栏:姜同学姜同学

SpringBoot介绍

代码语言:javascript
复制
了解SpringBoot之前我们先来聊聊SpringFramework,我们都知道Spring是重量级企业开发框架
Enterprise JavaBean的替代品,SpringFramework为企业级java开发提供了相对简单的方法,依赖
注入,以及面向切面编程,用简单的java对象(pojo)替代EJB。
虽然Spring的组件代码是轻量级的,但是它的配置确是重量级的,虽然Spring2.5之后提供了注解
开发,但是当引入一切Spring的新特性的时候还是需要进行一些XML的配置,例如SprinMVC的前端控制器
以及视图解析器,以及一些包扫描的基本配置,当需要整合第三方框架的时候XML配置写起来跟是让开发者
头疼的一件事。不过不要担心,SpringBoot来了,他让以上的一切成为了过去式。

再来聊聊SpringBoot 简而言之SpringBoot就是简化之后的Spring 以约定大于配置的形式完成了之前Spring的一些习惯的配置。

SpringBoot的优点以及特性

代码语言:javascript
复制
a.快速创建独立的Spring项目以及主流框架的集成
b.内嵌服务器,不需要外部服务器即可向普通的java程序一样直接启动
c.大量的自动配置,简化开发,也可修改默认值。
d.SpringBoot基于pom文件的继承以及传递依赖,简化的pom文件的配置。

SpringBoot的特殊注解

代码语言:javascript
复制
@SpringBootApplication
这是SpringBoot的核心注解也是一个由@SpringBootConfiguration
@EnableAutoConfiguration和@ComponentScan组合的复合注解
来讲解一下SpringBoot的启动流程分析这三个注解的作用
SpringApplication.run(当前类名.class, args);执行main函数
执行SpringApplication的run方法,反射识别@SpringBootApplication注解
@ComponentScan类似于XML配置文件中的包扫描,将当前类所在的包以及子孙包
下带有@Component @Controller @Service以及@Repository的类交由Spring的IOC
容器管理或者加入到SpringMVC的前端控制器的扫描范围。
@SpringBootConfiguration会自动读取SpringBoot的配置文件:
application.yml,application.propertites
@EnableAutoConfiguration会去加载jar包中的config相关jar
(spring-bootautoconfigure-1.5.9.RELEASE),解析其中的
META-INF/spring.factories配置文件,根据其中的信息自动进行相应配置。

SpringBoot中其他常用的注解

代码语言:javascript
复制
@RestController
等价于SpringMVC中的@Controller + @ResponseBody

@Configuration
作用于在@SpringBootApplication扫描范围内的其他自定义
配置类 有这个注解的类其效果等价于Spring中的配置文件
applicationContext.xml,在其中可以进行其他的自定义配置。

@ComponentScan
value属性可以指定要被扫描的包,如果不指定则将该配置类所在的包
及其子包加入包扫描,其作用等价于Spring中<Context:Component-scan base-package=""/>

@Bean
可以加在能被@SpringBoot作用的范围下的任意方法,将其返回类型注册为Spring中管理的bean

@Value
此注解和Spring中用于依赖注入的@Value作用大体一样,不过使用${}引用的值SpringBoot直接
以键值对的形式写在SpringBoot的配置文件中。

@ImportResource
告知SpringBoot额外读取指定的配置文件。

入门案例请移步SpringBoot快速启动

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-08-06T,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档