spring boot和maven的约定大于配置体现在哪些方面

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring boot和maven的约定大于配置体现在哪些方面相关的知识,希望对你有一定的参考价值。

参考技术A Spring Boot充分利用了JavaConfig的配置模式以及“约定优于配置”的理念,能够极大的简化基于Spring MVC的Web应用和REST服务开发

Spring Boot基础

【一、简介】
1、Spring Boot 是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程
2、该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
3、Spring Boot是一个简化Spring开发的框架。用来监护spring应用开发,约定大于配置,去繁就简,just run 就能创建一个独立的,产品级的应用。
【二、特征】
(1)可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;
(2)内嵌Tomcat或Jetty等Servlet容器;
(3)提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;
(4)尽可能自动配置Spring容器;
(5)提供准备好的特性,如指标、健康检查和外部化配置;
(6)绝对没有代码生成,不需要XML配置。 [1] [2]
【三、策略】
开箱即用,Outofbox,是指在开发过程中,通过在MAVEN项目的pom文件中添加相关依赖包,然后使用对应注解来代替繁琐的XML配置文件以管理对象的生命周期。这个特点使得开发人员摆脱了复杂的配置工作以及依赖的管理工作,更加专注于业务逻辑。
约定优于配置,Convention over configuration,是一种由SpringBoot本身来配置目标结构,减少了大量的XML配置,并且可以将代码编译、测试和打包等工作自动化。
【四、本质】
4、Spring Boot就是一些库的集合,它能够被任意项目的构建系统所使用。
5、我们在使用Spring Boot时只需要配置相应的Spring Boot就可以用所有的Spring组件
6、简单的说,spring boot就是整合了很多优秀的框架,不用我们自己手动的去写一堆xml配置然后进行配置。
7、从本质上来说,Spring Boot就是Spring,它做了那些没有它你也会去做的Spring Bean配置。
【五、单体应用于微服务】
8、单体应用是把所有的应用模块都写在一个应用中。
9、微服务是一种架构风格,用微服务可以将应用的模块单独部署,
各个小型服务之间通过http进行通信。

【六、配置Spring Boot依赖】
10、 <dependencies> 之间的部分就是依赖的部分 </dependencies>

                <dependency>
                        <groupId>com.css</groupId>
                        <artifactId>test-interface</artifactId>
                        <version>1.0.0</version>
                    </dependency>

11、groupid和artifactId被统称为"坐标"
groupId 定义了项目属于哪个组
artifactId 定义了当前maven项目在组中唯一的ID
version 指定了myapp项目的当前版本
name声明了一个对于用户更为友好的项目名称,不是必须的,推荐为每个pom声明name,以方便信息交流。

    <dependency>
        <groupId>org.apache.dubbo</groupId>
        <artifactId>dubbo-dependencies-zookeeper</artifactId>
        <version>${dubbo.version}</version>
        <type>pom</type>
        <exclusions>
            <exclusion>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

?12、exclusions在mavenB项目中引入mavenA项目依赖,通过依赖传递,会将mavenA中的jar包传递进来,如果B中不需要A中的某个jar包就可以使用此标签。
13、plugin 插件
【七、入口@ SpringBootApplication注解】
14、程序是从main函数进入,使用@ SpringBootApplication.run()加载主程序类
15、@ SpringBootApplication是一个复合注解,
包括@ ComponentScan,和@ SpringBootConfiguration,@EnableAutoConfiguration。
【八、Spring Boot的配置文件】
16、想要向JavaBean类中赋值,需要在javabean的类中添加相应的注解@ Component和@ ConfigurationProperties(prefix = "person")。@ Component将类添加进容器,@ ConfigurationProperties配置文件中的数据注入到类中
【下篇详述Spring Boot注解】

以上是关于spring boot和maven的约定大于配置体现在哪些方面的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot快速建立HelloWorld项目

跳槽涨薪季面试题之spring boot框架

boot自动配置的原理

Spring —— Spring Boot 创建和使用

Spring Boot入门及第一个案例

Spring Boot基础