浅谈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 {
相关文章
|
2月前
|
XML JSON Java
SpringBoot(四)之基础配置
application.yml为主配置文件,如果要分环境,则需要创建 application-{profile}.yml的环境配置。
25 0
|
3月前
|
XML 安全 IDE
springboot @RequiredArgsConstructor的概念与使用
【4月更文挑战第25天】在Spring Boot中,@RequiredArgsConstructor注解是Lombok库提供的功能,用于自动生成包含必需参数的构造函数。"必需参数"指的是那些被声明为final或者有@NonNull注解的成员变量。这种注解极大地简化了Java类的编写,尤其是在需要注入依赖或常量值时
160 3
|
3月前
|
安全 Java 开发者
详解SpringBoot的核心特性
SpringBoot是一个用于简化Spring应用程序开发的框架,它提供了一系列核心特性,使得开发者能够更快速、更简单地构建和部署Spring应用程序。本文将详细介绍SpringBoot的五个核心特性,并为每个特性提供三个子特性的详细解释。
123 1
|
3月前
|
Java Spring
springboot @Inherited的概念与使用
【4月更文挑战第25天】在Spring Boot中,@Inherited是Java提供的一个注解,用于指示某个注解类型可以从超类继承到子类。当一个使用了@Inherited标记的注解被用在一个类上时,这个注解会被其所有的子类继承,除非子类自己也通过相同的注解进行了声明。
118 0
|
3月前
|
运维 Java 测试技术
学习笔记之一《SpringBoot3-基础特性》
学习笔记之一《SpringBoot3-基础特性》
83 0
|
3月前
|
XML 监控 Java
SpringBoot基础
SpringBoot基础
|
3月前
|
NoSQL Java 数据库连接
SpringBoot基础 (一)
1、配置文件 SpringBoot使用一个全局的配置文件,配置文件的名称是固定的 application.properties 语法结构:key=value application.yml 语法结构:key:(空格)value 配置文件的作用:修改SpringBoot自动配置的默认值,因为SpringBoot在底层都给我们自动配置好了
|
3月前
|
监控 JavaScript Java
SpringBoot基础(二)
SpringBoot的监听机制其实是对Java提供的事件监听机制的封装 Java的事件监听机制中定义了以下几个角色: 事件(Event):继承Java.util.EventObject类的对象 事件源(Source):任意对象Object 监听器(Listener):实现java.util.EventListener接口的对象
|
12月前
|
Java 数据库连接 Maven
从零玩转SpringBoot3-基础特性1
从零玩转SpringBoot3-基础特性
244 0
|
12月前
|
Java 测试技术 Spring
从零玩转SpringBoot3-基础特性2
从零玩转SpringBoot3-基础特性
197 0