这篇文章给大家介绍如何在想法中创建一个SpringBoot工程,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
SpringBoot项目创建
创建模块
基于想法创建项目模块、模块名为04-springboot-start,组id和包名为com。cy,如图所示:
填写模块信息,如图所示:
选择项目模块版本,暂时不需要自己手动添加任何依赖,如图所示:
填写模块名称,完成模块创建,如图所示
项目结构分析
项目模块创建好以后,其代码结构分析,如图所示:
SpringBoot项目启动分析
启动入口
SpringBoot工程中由SpringBootApplication注解描述的类为启动入口类,例如:
package com.cy; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class  Application {//Application.class ,public static  void main (String [], args), {//Main 线程 ,SpringApplication.run (Application.class, args); ,} }
启动过程概要分析
SpringBoot工程启动时其简易初始化过程,如图所示:
在启动过程中底层做了哪些事情,大致描述如下:
1)基于配置加载类(通过类加载器将指定位置的类读到内存→底层通过线程调用IO从磁盘读取到内存)。
2)对类进行分析(创建字节码对象海尔集团类型,通过反射获取器配置信息)。
3)对于指定配置(例如由弹簧特定注解描述)的对象存储其配置信息(借助BeanDefinition对象存储)。
4)基于BeanDefinition对象中类的配置构建类的实例(Bean对象),并进行Bean对象的管理(可能会存储到Bean池)。
SpringBoot快速入门分析
,业务描述
在项目模块中定义一个类,类名为DefaultCache,然后将此类对象交给春天创建并管理。最后通过单元测试对类的实例进行分析。
API设计分析
基于业务描述,进行API及关系设计,如图所示:
package com.cy.pj.common.cache; import org.springframework.stereotype.Component;/* * ,* @Component 注解描述的类,表示此类交给春天框架管理。 ,*/@ component public class  DefaultCache { }
第二步:定义DefaultCacheTests单元测试类
package com.cy.pj.common.cache; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; @SpringBootTest public class  DefaultCacheTests {/* * ,* @Autowired 注解描述的属性由弹簧框架按照一定规则为其注入值(赋值) ,*赋值过程是怎样的? ,* 1)依赖查找?(请问查找规则是什么?) ,* 2)依赖注入?(需要借助什么技术吗?) ,*/@ autowired ,private DefaultCache  defaultCache; ,@Test ,void testDefaultCache () { ,System.out.println (defaultCache.toString ()); ,//常见问题? defaultCache变量引用的对象是由谁创建的,存储,到了哪里? bean 池 ,} }
第三步:运行单元测试类进行应用分析
启动运行单元测试方法,检测其输出结果,基于结果分析:
1) SpringBoot项目中Bean对象的构建。
2) SpringBoot项目中Bean对象的获取。
运行过程中错误的分析
Bean类型找不到,如图所示: