SpringBoot入门学习

什么是SpringBoot:

是其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置

回顾Spring的三大特征

  1.IOC(控制反转):Ioc—Inversion of Control 控制反转的意思就是说把我们的Bean交给Spring去管理,对象的实例化和依赖关系管理都由IOC容器进行统一管理

DI-Dependency Injection其实就是IOC的一种类型,依赖注入的目的是为了提升组件重用的频率,并为系统搭建一个灵活、可扩展的平台

即面向切面编程,可以说是面向对象的补充和完善。AOP采取横向抽取机制,替代了传统纵向继承体系重复性代码。在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等。

 

SpringBoot注解编程IOC:

  1.组件的注册:

<dependency>
</groupId>
</artifactId>
</version>
          </dependency>

    (2)创建一个config类配置@Configuration 表名这是Spring的注解类,在注解类里面写一个返回值为你需要创建Bean的方法 

spring boot oidc_spring

  

 

 

(3)进行测试:这里我们先用junit来测试      

spring boot oidc_Management_02

 

 

ComponentScan注解的意思好像我们之前在xml配置的<context:component-scan base-package="包名"是一样的效果,他的作用就是告诉Spring需要去扫描那些包 默认扫描当前包和子包

  

spring boot oidc_ci_03

 

基本语法:

 

 

spring boot oidc_Management_04

 

 

 高级语法:

 

spring boot oidc_spring_05

 

 

 组件的生命周期:

  bean的生命周期   -   创建 - 初始化 - 销毁

    1.创建单实例:在容器创建的就是固定的bean

    2.创建多实例:在每次使用的时候会创建

    3.初始化:在容器创建好完成初始化

    4.单实例的销毁:bean容器关闭时销毁

    5.多实例的销毁:没有受Spring的管理有自己决定

spring boot oidc_spring boot oidc_06

 

 

@Impor注解:

spring boot oidc_Management_07

 

 

 SpringBoot入门: 官网https://spring.io/projects/spring-boot/

 

  1.为什么要使用SpringBoot:

      它的出现解决了传统spring项目以下的问题:

 

配置负责繁多

 

每一个组件集成spring都需要编写对应配置文件,比如appplicationContext-xxx.xml

 

混乱的依赖管理

 

在spirng中想集成对应组件时,需要导入N多的pom,并且还有考虑版本。

 

       我们使用SpringBoot创建java应用,只需填写很少配置和依赖就能快速搭建,并使用java –jar 启动它,就能得到一个生产级别的web工程。非常方便

 

  2.SpringBoot特点:

主要目标是:

 

为所有 Spring 的开发者提供一个非常快速的、广泛接受的入门体验

 

开箱即用(启动器starter-其实就是SpringBoot提供的一个jar包),但通过自己设置参数(.properties),即可快速摆脱这种方式。

 

提供了一些大型项目中常见的非功能性特性,如内嵌服务器、安全、指标,健康检测、外部化配置等

 

绝对没有代码生成,也无需 XML 配置

3.入门代码

 

    创建普通maven项目:

      导包:

<dependencyManagement>

        <dependencies>

版本管理,springboot相关模块引入是就不需要制定版本了-->

            <dependency>

                <groupId>org.springframework.boot</groupId>

                <artifactId>spring-boot-dependencies</artifactId>

                <version>2.0.5.RELEASE</version>

                <type>pom</type>

                <scope>import</scope>

            </dependency>

        </dependencies>

    </dependencyManagement>

 


<parent>

        <artifactId>springboot_parent</artifactId>

        <groupId>cn.itsource.springboot</groupId>

        <version>1.0-SNAPSHOT</version>

    </parent>

<dependencies>

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-web</artifactId>

        </dependency>

</dependencies>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

      测试代码:

  

spring boot oidc_Management_08

 


运行类:

  

spring boot oidc_spring boot oidc_09

 


 SpringBoot自带的tomcat所以你不需要进行tomcat的配置   在运行成功后他的默认端口号为8080:

 

<dependencyManagement>

        <dependencies>

版本管理,springboot相关模块引入是就不需要制定版本了-->

            <dependency>

                <groupId>org.springframework.boot</groupId>

                <artifactId>spring-boot-dependencies</artifactId>

                <version>2.0.5.RELEASE</version>

                <type>pom</type>

                <scope>import</scope>

            </dependency>

        </dependencies>

    </dependencyManagement>