SpringBoot核心:自动配置的概述

(不要弄太多深层次的代码,那样反而不好理解,所以尽量简述)

SpringBoot的核心原理:自动配置

讲到自动配置必须提起自动注入,因为SpringBoot的自动配置是为自动注入服务的,而自动注入的使用者就是Spring。

再讲Spring自动注入前,我们理一下三层业务架构的流程:

Controller(业务层/客户访问层)---->Service(服务层)---->Dao(数据层)

Controller从Service拿方法,Service从Dao拿数据,是大部分企业项目的业务架构。

如果Controller层需要调用Service层的某个方法,传统方法必须是new一个指定的Service类对象。

这样的做的坏处:如果Service层非常之多,Controller层就会非常冗余。

因为不同的Controller类如果调用同一个Service类对象的方式,需要new多个同样的Service类对象。这样对效率,内存都不友好。

所以就引入了Spring IOC的概念。

把普通的Bean内置入Spring变成Spring Bean.

当我们需要使用的时候直接以注解的方式让Spring自动注入

@Autowried
UserService userservice;

区别于
UserService userservice=new UserserviceImpl();

这样的好处是不同的Controller类在调用相同的Service类对象的某个方法时,使用的都是同一个Service类对象。

把需要用到的类都自动让Spring去托管,减少了冗余。

介绍到这里,想想如果某个类没有被内置为Spring Bean,那么使用自动注入的方式就肯定会注入失败。

常常发生这个问题的就是来自外部的jar包里面的类,如果想要把jar包里面的类内置为Spring Bean,就需要繁琐的配置。

而Spring Boot核心作用就是通过自动配置解决这个问题的。

SpringBoot采用“约定优于配置的原则”,所以很多非自建的jar包里面的类就不需要动用配置文件逐个配置参数内置为Spring Bean。SpringBoot会通过自动配置将其方便的内置为Spring Bean,减少了大量模式化配置文件的编写。

通过SpringBoot的自动配置,当你要用一些类对象的时候就可以简便的让Spring给你自动注入。

 

你可能感兴趣的:(SpringBoot)