Spring 框架基本使用(详细),2024年华为Java面经

在Spring的配置文件中使用bean标签,配置 id 和 class 属性后,没有其他属性和标签时,采用的就是默认构造函数创建bean对象,此时如果类中没有默认构造函数,则对象无法创建。

【2】类中的方法创建

很多时候我们会使用某个类中的或者jar包中的方法或者普通工厂中的方法来创建对象,并存入到Spring容器中

【3】类中的静态方法创建

使用某个类中的静态方法创建或者工厂中的或者jar包中的静态方法创建,并存入到Spring容器中

2、获取bean的方式


配置文件就是让IOC容器能够来管理一个具体的对象,主要就是通过配置进行管理,Spring 能够通过获取的配置来获取到对应的对象以及属性,中 id 表示唯一属性,class 表示类的全类名,通过反射的方式创建对象:

Class class = Class.forName(“com.LSTAR.Helloworld”);

Object obj = class.=newlnstance(); //无参构造函数

获取bean有三种方式

【1】根据 id 获取

通过唯一标识 id 来获取,上面的环境搭建就是用的这种方式

Helloworld hello = (Helloworld) ioc.getBean(“helloworld”);

【2】通过 bean 类型获取

如果同一个类型的bean在xml文件中配置了多个,则获取时会抛出异常,所以同一个类型的bean在容器中必须是唯一的

Helloworld hello = ioc.getBean(Helloworld.class);

【3】指定bean的 id 值和类型

Helloworld hello = ioc.getBean(“helloworld”,Helloworld.class);

3、bean 对象的生命周期


【1】单例对象

  • 出生:当容器创建的时候bean对象出生

  • 活着:只要容器还在,bean对象就一直活着

  • 死亡:容器销毁,bean对象就消亡

单例bean对象随容器共存亡

【2】多例对象

  • 出生:当使用对象时,Spring创建对象

  • 活着:对象只要在使用过程中就一直活着

  • 死亡:当对象长时间不用且没有其他对象引用时,有Java垃圾回收器回收

4、bean 的作用范围


通过bean 标签的 scope 属性来指定 bean 的作用范围,属性值有:

  • singleton:单例的(默认值)

  • prototype:多例的

  • request:作用于 web 应用的请求范围

  • session:作用于 web 应用的会话范围

  • global-session:作用于集群环境的会话范围(全局会话范围),当不是集群环境时,就是session

三、Spring 的依赖注入

==============

1、构造函数注入


使用构造函数注入,需要在类中创建带参的构造函数,在 bean 标签中使用 标签,对属性进行配置,该标签中的属性有:

  • type:用于指定要注入的数据的数据类型,该数据类型也是构造函数中某个或某些参数的类型

  • index:用于指定要注入的数据给构造函数中指定索引位置的参数赋值,索引的位置从 0 开始

  • name:用于指定给构造函数中指定名称的参数赋值(一般用这个)

  • value:用于提供基本类型和String类型的数据

  • ref:用于指定其他的bean类型数据,它指的是在Spring的IOC核心容器出现过的bean对象

2、set 注入


使用 set 注入需要在类中创建 set 方法,在 bean 标签中使用 标签,可以通过 value 属性和 ref 属性进注入:

  1. 通过 value 属性注入:一般的数据类型都可以通过 value 属性进行赋值

  2. 通过 ref 注入:对象输数据则可以通过 ref 进行赋值

比如:在学校类中除了有年龄,姓名属性,还有老师对象属性,对于年龄、姓名属性可以直接使用 value属性进行赋值,而老师对象则需要通过 ref 进行赋值

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns=“http://www.springframework.org/schema/beans”

xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd">

  • 25
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于引用和引用的内容,华为面经中可能会涉及对Spring Boot的相关问题。Spring Boot是一个用于开发Java应用程序的开源框架,它简化了Spring应用的配置和部署过程。在华为的面试中,面试官可能会询问你对Spring Boot的了解和使用经验。 你可以回答说,在大二的实训中,你接触了Spring Boot,并且在暑假期间开发了一个宾馆信息管理系统。这个系统是基于Spring Boot开发的,主要面向宾馆前台人员,简化了宾馆管理的业务过程。你可以介绍一下项目中使用到的Spring Boot相关技术和知识,比如依赖管理、自动配置、AOP等。你还可以提及使用Spring Boot的优势,如快速启动、简化配置、内嵌服务器等,并举例说明如何利用Spring Boot提升开发效率和降低维护成本。 此外,你也可以讲述一下你对Spring Boot的学习和实践过程,包括如何学习和掌握Spring Boot的相关知识,以及在项目中遇到的挑战和解决方案。你可以强调你对Spring Boot的兴趣和热情,并说明你愿意不断学习和探索新的技术,以提升自己的开发能力。 综上所述,在华为的面试中,你可以通过分享你对Spring Boot的学习和实践经历,展示你对该技术的了解和熟练程度,同时表达你对继续学习和应用新技术的积极态度。这样可以给面试官留下一个积极主动、具备扎实技术基础和学习能力的印象。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [华为面经](https://blog.csdn.net/etherealsymbol/article/details/108889206)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值