Spring Boot原理初探

Spring Boot原理初探

约定优于配置

​ 百分之90以上的项目配置都差不多,所以Spring团队就搞了一个通用配置,以后我们程序员就不用自己手动配置这些繁琐的东西了。

​ 如果用ssm框架,所有的maven依赖版本都要我们自己去控制,找依赖并且相互配合,依赖没有配好,jar包冲突,就需要自己解决。解决过程一般是十分费时间的,所有的依赖都在pom.xml文件中。

Spring Boot帮我们配置了大部分依赖的版本 如图

开箱即用

每一个starter都是一个功能场景

maven标准的目录结构

配置文件生效顺序
properties>yml>yaml

程序和注解

启动类

package com.luo.demo100;
/**
 * Spring Boot启动类
 * @auth luo
 */

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

//表明此类是Spring Boot的启动类
@SpringBootApplication
public class Demo100Application {

    public static void main(String[] args) {
        SpringApplication.run(Demo100Application.class, args);
    }

}

注解

一般标在启动类上

@ComponentScan  //扫描我们的一些组件 启动类所在的包下的所有组件
@EnableAutoConfiguration //这个注解他所加的组件就是我们在pom文件中声明的组件 以及Spring Boot默认提供给我们的组件 将组件实例化 交给Ioc容器管理 String Boot的核心
@AutoConfigurationPackage //自动配置包
@Import({AutoConfigurationImportSelector.class}) //核心中的核心

@EnableAutoConfiguration是我们的核心注解 开启自动配置/自动装配

@SpringBootApplication 注解

Spring Boot应用标注在某个类上说明这个类是SpringBoot的主配置类,SpringBoot就应该运行这个类的main方法来启动SpringBoot应用
@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 {

从源码可以看出,这个注解是@SpringBootConfiguration,@EnableAutoConfiguration以及@ComponentScan这三个注解的组合

@SpringBootConfiguration
Spring Boot的配置类;标注在某个类上,表示一个类提供了Spring Boot应用程序*

程序

Run
properties所有属性 底层都有对应的类属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值