SpringBoot基础-了解Spring Boot及其常用注解

SpringBoot基础-了解Spring Boot及其常用注解


介绍Spring Boot基础知识;了解Spring Boot、常用注解、starter等。

了解 Spring Boot

了解 Spring Boot 项目结构

在创建好 Spring Boot 工程后,即可看到其基础结构。分为三个文件目录:

  1. src/main/java
  2. src/main/resources
  3. src/test/java

1.构建SpringBoot项目3

src/main/java

  • 入口(启动)类及程序的开发目录。在这个目录下进行业务开发、创建实体层、控制器层、数据连接层等。

src/main/resources

  • 资源文件目录。主要用于存放静态文件和配置文件。
  • static :用于存放静态资源,如层叠样式表 CSS(Cascading Style Sheets)文件、JavaScript 文件、图片等。
  • templates :用于存放模板文件。
  • application.properties :用于配置项目运行所需的配置数据。也可以用 YAML 文件。

src/test/java

  • 测试程序所在的目录。

了解 Spring Boot 的入口类

在创建 Spring Boot 项目时,会自动创建一个用于启动的、名为“项目名+Application”的入口类,它是项目的启动入口。

默认为加上注解 @SpringBootApplication ,以标注这是 Spring Boot 项目的入口类。

在入口类中有一个 main 方法,其中使用了 SpringApplication 的静态 run 方法,并将入口类 和 main 方法的参数 args 传递了进去,以启动程序。

了解 Spring Boot 的自动配置

Spring Boot 会根据配置的依赖信息进行自动配置,从而减轻开发者搭建环境和配置的负担。

如果项目依赖了 spring-boot-starter-web ,则 Spring Boot 会自动配置 Web 环境(配置 Tomcat、WebMVC、Validator、JSON等)。

Spring Boot 自动配置是通过注解 @EnableAutoConfiguration 来实现的,具有非入侵性。

如果要查看当前有哪些自动配置,则可以使用 debug 调试命令: java -jar *.jar -debug

在 IDEA 中,可以单击 run->EditConfigurations 命令,在弹出的窗口中设置 Program arguments 参数为 --debug 。在启动应用程序之后,在控制台中即可看到条件评估报告(CONDITIONS EVALUATION REPORT)。

如果不需要某些自动配置,则可以通过注解@EnableAutoConfigurationexclude 或 excludeName 属性来指定,或在配置文件 application.yml 中指定 spring.autoconfigure.exclude 的值。

Spring Boot 的常用注解

未来框架的趋势是“约定大于配置”,代码的封装会更严密。

开发人员会将更多的精力放在代码的整体优化和业务逻辑上,所以注解式编程会被更加广泛地使用。

什么是注解

注解(annotations) 用来定义一个类、属性或一些方法,以便程序能被编译处理。它相当于一个说明文件,告诉应用程序某个被注解的类或属性是什么,要怎么处理。

注解可以用于标注包、类、方法和变量等。

了解系统注解

  • @Override 用于修饰方法,表示此方法重写了父类方法。

  • @Deprecated 用于修饰方法,表示此方法已经过时。经常在版本升级后会遇到。

  • @SuppressWarnnings 告诉编译器忽视某类编译警告。

Spring Boot 的常用注解

使用在类名上的注解

3.SpringBoot-常用注解使用在类名上的注解

  • @RestController

    • 使用位置:类名上;
    • 用于返回 JSON、XML等数据,但不能返回HTML页面。
    • 相当于注解 @ResponseBody 和注解 @Controller 合在一起的作用。
  • @Controller

    • 使用位置:类名上;
    • 声明此类是一个 SpringMVC Controller 对象;
    • 它用于标注控制器层,在 MVC 开发模式中代表 C(控制器)。
  • @Service

    • 使用位置:类名上;
    • 声明一个业务处理类(实现非接口类),用于标注服务层,处理业务逻辑。
  • @Repository

    • 使用位置:类名上;
    • 声明数据库访问类(实现非接口类)。
  • @Component

    • 使用位置:类名上;
    • 代表其是 Spring 管理类,常用在无法用 @Service@Repository 描述的 Spring 管理类上,相当于通用的注解。
    • 它用于把普通 POJO(Plain Ordinary Java Objects,简单的Java对象)实例化到 Spring 容器中。
  • @Configuration

    • 使用位置:类名上;
    • 声明此类是一个配置类,常与 @Bean 配合使用;
    • 它用于标注配置类,并且可以由 Spring 容器自动处理。它作为 Bean 的载体,用来指示一个类声明、一个或多个 @Bean 方法,在运行时为这些 Bean 生成 BeanDefinition 和服务请求。
  • @Resource

    • 使用位置:类名上、属性;
    • @Autowired@Resource 都用来装配 Bean ,也都可以写在字段上或 Setter 方法上。
    • 默认按 byName 自动注入。
  • @Autowired

    • 使用位置:类名上、属性或构造函数参数上;
    • 它表示被修饰的类需要注入对象。 Spring 会扫描所有被 @Autowired 标注的类,然后根据类型在 IoC 容器中找到匹配的类对象进行注入。
    • 默认按 byType 自动注入。
  • @RequestMapping

    • 使用位置:类名或方法上;
    • 它用来处理请求地址映射。如果用在类上,则表示类中的所有响应请求的方法都是以该地址作为父路径的。该注解有6个属性。
    • params : 指定 request 中必须包含某些参数值,才让该方法处理。
    • headers :指定 request 中必须包含某些指定的 header 值,才能让该方法处理请求。
    • value :指标请求的实际地址,指标的地址可以是 URI Template 模式。
    • method :指定请求的 method 类型,如 GET、POST、PUT、DELETE等。
    • consumes :指定处理请求的提交内容类型 Content-Type,如“application/json,text/html"。
    • produces :指定返回的内容类型。只有当 request 请求头中的 accept 类型中包含该指定类型时才返回。

使用在方法上的注解

4.SpringBoot-常用注解使用在方法上的注解

常用其它注解

5.SpringBoot-常用注解其它注解

Spring Boot 的 starter

Spring Boot 为了简化配置,提供了非常多的 starter 。

它先打包好与常用模块相关的所有 JAR ,并且完成自动配置,然后组装成 starter 。

这使得在开发业务代码时不需要关注框架的配置,只需要关注业务逻辑即可。

如把 Web 相关的 Spring MVC、容器等打包好后组装成 spring-boot-starter-web。

Spring Boot 提供了很多开箱即用的 starter ,大概有近50种。

6.SpringBoot-常用的starter

在 pom.xml 中添加某个 starter 的 依赖时,如果依赖项没有版本号,则 Spring Boot 会根据自己的版本号自动关联。如果需要特定的版本,则需要加上 version 元素。

公众号

知行chen

参考

《Spring Boot 实战派》 龙中华

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值