浅谈SpringBoot的特性与实现

简介: 浅谈SpringBoot的特性与实现

一 前言

轮道者甚繁,做而行者盖寡
写博客更倾向于理论,理论是一个引路者,只是听理论很难有大的突破,所以我想通过这一系列文章,更多的产生实际的效果,希望对springboot的学习有更深刻的认识

## 二 Spring的成长

谈及springboot一定就会想到spring,更多人会认为springboot是spring的升级版本,但是具体有哪些升级呢,这里就来说一说,spring的成长

1 spring的缺点

谋定而后动,所有语言中java的市场最大,java中spring又是当之无愧的大哥,为什么他是大哥呢,可能就是被说的滚瓜烂熟的IOC和AOP,那再具体点呢,可能阅读源码的人会知道,Spring对事务进行了抽象,使用了AOP使事务编程变得很简化,还有springMVC让web编程如丝般顺滑。
那他的缺点呢,如果经理过spring低版本开发的人一定知道,要很多的配置文件,还要配置tomcat,因为他本身并不具备启动的功能,所以就出现很多繁琐的配置,于是,他并不完美。
谋定就是要谋他的问题,后动就是改造他,让他成长的更强大,于是springboot登场了。

三 SpringBoot

  1. 特性

    • 创建独立的spring应用
    • 直接创建TOMCAT,Jetty等web容器
    • 提供固化的star,简化构架配置
    • 当条件满足时自动装配Spring或第三方类库
    • 提供运维
    • 不需要xml配置

    值得一提的是springboot2.0 必须是jdk8

  2. 特性实现

    1. 直接创建TOMCAT,Jetty等web容器,提供固化的star

      FE:使用JETTY作为容器,排除tomcat star依赖使用jetty依赖

        <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
        <!-- Exclude the Tomcat dependency -->
           <exclusion>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-tomcat</artifactId>
           </exclusion>
        </exclusions>
        </dependency>
      
        <!-- Use Jetty instead -->
        <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jetty</artifactId>
        </dependency>
      1. 自动装配

      官网的解释是,尝试去装配class path下开发人员添加的jar依赖,不一定装配。
      使用@EnableCoinfigurtion注解来开启自动装配,而@EnableCoinfigurtion注解是由引导类@SpringbootApplication注解激活的,同时他还激活@ComponentScan以及@Configuration

      @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 {
相关文章
|
6月前
|
XML JSON Java
SpringBoot(四)之基础配置
application.yml为主配置文件,如果要分环境,则需要创建 application-{profile}.yml的环境配置。
40 0
|
7月前
|
安全 Java 开发者
详解SpringBoot的核心特性
SpringBoot是一个用于简化Spring应用程序开发的框架,它提供了一系列核心特性,使得开发者能够更快速、更简单地构建和部署Spring应用程序。本文将详细介绍SpringBoot的五个核心特性,并为每个特性提供三个子特性的详细解释。
300 1
|
7月前
|
Java Spring
springboot @Inherited的概念与使用
【4月更文挑战第25天】在Spring Boot中,@Inherited是Java提供的一个注解,用于指示某个注解类型可以从超类继承到子类。当一个使用了@Inherited标记的注解被用在一个类上时,这个注解会被其所有的子类继承,除非子类自己也通过相同的注解进行了声明。
203 0
|
7月前
|
运维 Java 测试技术
学习笔记之一《SpringBoot3-基础特性》
学习笔记之一《SpringBoot3-基础特性》
100 0
|
7月前
|
监控 JavaScript Java
SpringBoot基础(二)
SpringBoot的监听机制其实是对Java提供的事件监听机制的封装 Java的事件监听机制中定义了以下几个角色: 事件(Event):继承Java.util.EventObject类的对象 事件源(Source):任意对象Object 监听器(Listener):实现java.util.EventListener接口的对象
|
Java 测试技术 Spring
从零玩转SpringBoot3-基础特性2
从零玩转SpringBoot3-基础特性
228 0
|
Java 数据库连接 Maven
从零玩转SpringBoot3-基础特性1
从零玩转SpringBoot3-基础特性
271 0
|
XML Java Maven
【SpringBoot学习笔记 四】SpringBoot自动配置原理
【SpringBoot学习笔记 四】SpringBoot自动配置原理
96 0
|
前端开发 Java 数据库连接
SpringBoot入门到精通-SpringBoot自动配置原理(五)
SpringBoot入门到精通-SpringBoot自动配置原理
|
XML Java 应用服务中间件
【SpringBoot学习笔记 四】SpringBoot自动配置原理(下)
【SpringBoot学习笔记 四】SpringBoot自动配置原理(下)
118 0