• SpringBoot注解分析


    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代替其实也可以运行,原因是这两个注解是一个相互包含的关系。

  • 相关阅读:
    盒模型--边界
    盒模型--填充
    盒模型--宽度和高度
    盒模型--边框(二)
    盒模型--边框(一)
    元素分类--内联块状元素(特点:同行, 可设置宽高和边距)
    元素分类--内联元素(特点:同行, 宽高边距不可改)
    元素分类--块级元素(特点:独占一行, 宽高边距可改)
    Java并发注解Annotation
    游戏服务器端开发的基本大纲
  • 原文地址:https://www.cnblogs.com/chendezhen/p/10760720.html
Copyright © 2020-2023  润新知