博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringBoot注解分析
阅读量:5156 次
发布时间:2019-06-13

本文共 2111 字,大约阅读时间需要 7 分钟。

Spring boot

简介:是spring社区发布的一个开源项目,旨在帮助开发者更快更简单的构建项目,使用习惯优于配置,的理念让你的项目快速的跑起来,使用springboot可以不用,或者很少的配置文件。

Spring boot 核心功能

独立运行spring项目:可以以jar包的形式独立进行运行 通过java –jar xxx.jar方式进行运行,不像之前的你还要打成一个war包放在webapp底下才可以。

内嵌servlet容器:比如tomcat

提供start简化maven配置:一个maven项目,使用spring-boot-start-web时,会自动加载spring-boot的依赖包

自动配置spring

准生产的应用监控:提供http进行监控

无代码生成和xml配置:主要通过条件注解来实现

 

 

 

这个依赖会使得自动加载剩下的依赖,创建一个新的项目,要想让他运行起来,这个依赖是必须的,如果没有这个依赖你的项目是跑不起来的。

 

 

Maven的用户可以通过继承spring-boot-starter-parent项目来获得一些合理的默认配置,这个parent提供了以下特性

默认使用java8

使用UTF-8编码

一个引用管理的功能继承了这个parent之后,我们的其他的依赖就可以不用写version版本信息了

识别过来的资源过滤

识别插件的配置

能够识别application.xml 和applicaton.yml类型的文件,同时也可以支持application-dev类型的文件,这样的话就能更好的在不同的生产环境下进行使用。

Maven把默认的占位符${}修改为了@..@

当然了,如果一些依赖我们不想使用默认的版本的话,我们可以直接加上版本号

 

 

这个依赖 如果你需要将maven打成一个jar包的话,我们需要配置一下这个maven组件,位置一般放在dependenies 之后

 

 

 

Starter 可以理解为一种插件,我们可以理解为一种插件类似于js,他可以发现springboot项目classpath类下面的所需要的bean,并且植入bean。

 

再来说说里面的一些注解

@Resource和@Autowired

为什么把这两个合在一块列出来,因为这两很像

@Resource 是javaee里面提供的,使用这个注解会自动注入bean,而且这个是ee里面提供的所以和spring没有多大关系,所以减少了一些java和spring之间代码的耦合,这个注解是按照名字进行注入的,当然如果有多个子类的话他会报错,因为他不知道该调用那个子类。

我们需要在下面加required = false

@Atowired这个是spring提供的,是按照类型进行注入装配的,如果想让他进行按照名字装配,则需要在@Atowired下面加@qualifier(“name”)这个注解

 

@Controller 要使用这个注解的话,你需要在控制器方法类上面不仅要加@RequestMapping 你还要加@RequestBody 代表返回json格式的数据

@RestController 如果我们使用这个注解的话,那么我们就可以不用使用@RequestBody这个注解,因为@RestController = @Controller + @RequestMapping

 

@Repository用来标注数据访问组件

@Controller用来标注控制层的组件

@Service 用来标注 业务层的组件

 

Spring2.5为我们引入了组件自动扫描机制 他在类路径下寻找标注了上述注解的类,并把这些类纳入spring容器中管理,他的作用和在.xml中配置bean节点组件是一样的

 

比如

这个在启动类上面的注解他就是自动扫描dao层的数据,如果我们不加这个的话,我们就需要在dao层每一个类上面加@Repository注解,都是一样的效果。

 

 

这个是一个复合注解包括@ComponentScan 和 @SpringBootConfiguration 和 @EnableAutoConfiguration

@SpringBootConfiguration 标注当前类为配置类

@EnableAutoConfiguration 的作用启动自动的配置,这个注解的意思就是springboot根据你添加的jar包来配置你项目的默认配置,比如他会根据你添加的jar包来配置你项目的默认配置,比如spring-boot-start-web来判断你的项目是否需要添加了webmvc和tomcat,就会帮你自动配置web项目中所需要的默认配置

@ComponentScan扫描当前包及其子包下面被@component,@Controller,@Service,@Repository标记标注的类然后纳入spring管理容器中去

 

当然了 我们在启动类中可以使用@ComponentScan代替其实也可以运行,原因是这两个注解是一个相互包含的关系。

转载于:https://www.cnblogs.com/chendezhen/p/10760720.html

你可能感兴趣的文章
忍不住了, 和大家聊聊怎么写简历吧, 关于简历的深度思考
查看>>
高并发编程
查看>>
(前端)html与css css 19、tab栏
查看>>
一起来学习.net core程序使用中介者模式:MediatR插件
查看>>
debian9 设置
查看>>
5句话搞定ES5作用域
查看>>
Build tool
查看>>
php 小坑记录
查看>>
2018.7.28 二叉树的遍历规则(前序遍历、后序遍历、中序遍历)
查看>>
通过 poi 导入 Excel代码
查看>>
《CSS基础教程》 读书笔记三
查看>>
洛谷P4482 [BJWC2018]Border 的四种求法 字符串,SAM,线段树合并,线段树,树链剖分,DSU on Tree...
查看>>
PHP安全新闻早8点_1127
查看>>
57.Insert Interval
查看>>
PHP 五大运行模式
查看>>
CSS选项卡
查看>>
HDOJ1203 I NEED A OFFER!
查看>>
ZH奶酪:自然语言处理工具LTP语言云调用方法
查看>>
.NET中将图片文件流转成Base64字符串的实现
查看>>
js如何操作或是更改sass里的变量
查看>>