Spring boot基本配置

SpringBoot作为一个快速开发框架,简化了Spring应用的初始搭建以及开发过程。其核心特性包括起步依赖、自动配置和健康检查。在实际操作中,通过创建项目、编写Bean类、编写测试类,可以深入了解Spring对Bean对象的管理,包括作用域、延迟加载和生命周期方法。通过这些特性,Spring实现了对象资源的有效利用,降低了对象间的耦合,提高了程序的可维护性和扩展性。
摘要由CSDN通过智能技术生成

springboot

springboot概述:

springboot是一个脚手架,构建于spring框架基础之上基于快速构建理念,提供了自动配置功能,可实现其开箱即用特性(创建完一个基本的项目以后,可零配置或者少量配置即可运行我们的项目)

其核心主要有如下几个方面:

  • 起步依赖(Starter Dependency)-项目创建时底层帮你关联依赖。
  • 自动配置(Auto Configuration)。
  • 健康检查(Actator)-监控。

Spring Boot官方地址为https://spring.io/projects/spring-boot

上手操作:

创建springboot项目成功之后展开:

所有的类和配置文件都是创建好项目以后,由STS工具帮我们自动创建的。找到项目的入口类(使用了@SpringBootApplication注解描述),然后运行启动类,检测启动过程,SpringBoot在启动时,控制台会出现以下标识:

业务实现:

第一步:创建一个DefaultCache类,存储到src/main/java目录,然后交给spring管理。如图:

其中:@Component是Spring中用于描述Bean类的一个注解。用于告诉Spring这个类的实例由Spring创建,当此对象由Spring创建和管理时,默认会将对象存储到池(Bean池)中。

第二步:添加sringboot 测试类,进行bean的获取及测试,要放在src/test/java目录中:

第三步:代码设计及运行分析:

       在图中描述了DefaultCacheTests类与DefaultCache类的关系,这两个类通过指定注解(@SpringBootTest,@Component)进行了描述,其意图是告诉spring框架这个两个类的实例的创建由Spring负责,并且由Spring框架基于@Autowired注解的描述完成DefaultCacheTests实例中有关DefaultCache类型的值的注入(DI)。

第四步:为对象设计作用域,设置延迟加载,设置生命周期方法(了解)。

在Spring框架中,Spring为由它创建和管理的对象,设计了一些特性,例如作用域,延迟加载,生命周期方法等,基于这些特性实现对Bean对象的管理。

package com.cy.pj.common.pool;

@Component

@Scope("singleton")

@Lazy

public class ObjectPool {

        public ObjectPool() {

           System.out.println("ObjectPool()");

        }

        @PostConstruct

        public void init() {

                System.out.println("init()");

        }

        @PreDestroy

        public void destory() {

                System.out.println("destory");

        }

}

其中:

  • @Lazy注解用于描述类,其目的是告诉spring框架此类支持延迟加载,通常会配合单例作用域使用。
  • @Scope 是Spring中用于定义Bean对象作用域的一个注解,其常用的值有singleton(整个内存有一份Bean实例,此实例何时创建与类的延迟加载特性配置有关,此实例创建以后,生命周期会由spring框架管理),prototype(每次获取都会创建新实例,此实例会在需要时创建与lazy特性无关,这个实例创建以后,不会交给spring管理,spring可以对其初始化,但不负责销毁。)等。
  • @PostConstruct 注解用于描述bean对象生命周期方法中的初始化方法,此方法会在对象的构造方法之后执行(是对象创建以后的初始化)。
  • @PreDestroy 注解用于描述Bean对象生命周期方法中的销毁方法,此方法会在对象销毁之前执行(当作用域为prototype时,此方法不会执行)。

第五步:通过测试类测试作用域,延迟加载,生命周期方法。

package com.cy.pj.common.cache;

@SpringBootTest

public class ObjectPoolTests {

        @Autowired

        private ObjectPool objectPool;

        @Test

        public void testObjectPool() {

                //???

        }

}

小编问答:

通过对上面小节的学习,能说说Spring框架管理Bean对象有什么优势吗?

Spring 是一个资源整合框架(Framework),通过spring可将很多资源(自己写的对象或第三方提供的对象,例如连接池等)整合在一起,然后进行科学应用,以便更好的对外提供服务。如图:

 

          在图中,Spring框架可以为由它管理的对象(Bean)提供懒加载策略(对象暂时用不到,则无需加载和实例化),作用域(例如singleton-频繁用时可以考虑内存中只有一份,prototype-使用次数少时可以用时创建,不用时销毁),生命周期方法(更好实现对象的初始化和资源销毁),以实现对象对系统资源的有效使用。同时Spring框架还可以基于用户设计管理对象与对象的依赖关系,以降低对象与对象之间的直接耦合,提高程序的可维护性和可扩展性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值