springboot 入门最佳实践

2020-08-21  本文已影响0人  乌木山

springboot的出现,使得spring接入门槛极大的降低,我们再也不需要去理解什么复杂的xml配置,就可以很容易的构建一个spring服务。
一个重要的原因是,springboot为我们做了大量的默认配置行为。因此,我们需要去了解和遵循一些基本原则,来让整个项目更加规范。

项目结构

1、代码结构规范

避免java类放置在default package下(也就是没有package),因为这种方式可能会导致某些注解扫描行为 去扫描所有的jar,极大降低效率。
推荐的做法是设置一个业务的package,并将启动类放置到根package。这样springboot默认会扫描根package及其子包下边的相关bean。
如下图所示,如果Application不在根包下,可能会导致上层包的相关数据不会被扫描到。

com
 +- example
     +- myapplication
         +- Application.java
         |
         +- customer
         |   +- Customer.java
         |   +- CustomerController.java
         |   +- CustomerService.java
         |   +- CustomerRepository.java
         |
         +- order
             +- Order.java
             +- OrderController.java
             +- OrderService.java
             +- OrderRepository.java

2、服务启动类

springboot的启动方式非常简单,在一个普通的java类加上@SpringBootApplication注解,然后执行以下方法,即可完成启动。

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

@SpringBootApplication 注解说明

通过启用@SpringBootApplication注解,我们事实上启用了以下三个注解:

启动原理

springboot相比传统的spring web程序,入门门槛进一步降低,这主要得益于以下两点:
1、无需进行繁琐的xml配置,springboot默认配置了许多的@Configuration来代替原来的xml。
2、springbootStarter,这是springboot中非常重要的一个概念。如何理解starter呢,个人认为starter就是一个智能化的@Configuration配置类。它会依据项目引入的jar包、用户的参数配置、个性化配置自动实例化所需的bean,从而让整个starter的功能很容易的就运行起来。

后续篇幅我们将一步步来演示,如何构建自己的starter,让别人很容易的使用相关功能。
关于starter的创建过程和原理,请继续阅读:springboot starter 原理解析及实践

参考资料

https://docs.spring.io/spring-boot/docs/2.3.3.RELEASE/reference/html/using-spring-boot.html

上一篇下一篇

猜你喜欢

热点阅读