您现在的位置是:首页 >技术交流 >spring学习(spring 配置文件详解)网站首页技术交流

spring学习(spring 配置文件详解)

等什么君! 2025-02-17 12:01:03
简介spring学习(spring 配置文件详解)

一 了解如何创建基本的spring 配置文件

步骤

1 导入 spring-context 依赖

 <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.3.23</version>
        </dependency>

2 鼠标右击点击maven构建的 resource 文件夹,找到 spring 配置

对于配置文件命名,没有要求但必须醒目些

二  了解 spring配置文件的基本结构

三  熟悉spring配置文件常见的标签和属性

常见的标签:bean

bean标签的常见的属性

id,name,class 忽略的细节

1 当你没有设置 id时,可以使用name表示 

spring 配置文件

<!--使用静态工厂创建对象-->
    <bean name="student" class="fs.exerise01.Student" factory-method="getObject"/>

Student 类

package fs.exerise01;
public class Student {
//    public static Student getObject() {
//        return new Student();
//    }
    public static Teacher getObject() {
        return new Teacher();
    }
}

Test 测试类

2 name 甚至是可以表示别名

3 如果只有class 也可以获得目标对象,取代 name甚至 id 的地位

4 如果存在 id ,或name 任意一个,使用class会报错

scope 对象的作用域

在Spring框架中,@Scope 注解用于定义Bean的作用域,常见的作用域类型包括:

  • singleton:默认值,表示在整个Spring容器中只存在一个Bean实例。

  • prototype:表示每次请求都会创建一个新的Bean实例。

  • request:在Web项目中,每个HTTP请求都会创建一个新的Bean实例。

  • session:在Web项目中,每个用户会话都会创建一个新的Bean实例。

  • global session:在基于Portlet的Web应用程序中使用,如果没有Portlet环境,则等同于session

1 验证 singleton:默认值,每次通过getBean方法获得是同一个对象

2 验证 prototype ,每次通过getBean方法获得是新的对象

singleton 参与bean 完整的生命周期,而prototype不是,没有最后的销毁

销毁阶段它们的区别在于

1 prototype Bean不会参与Spring容器的销毁生命周期管理。这是因为Spring容器无法跟踪每个prototype Bean实例的生命周期,因为它们是动态创建的。

2 当prototype Bean不再被使用时,它的销毁由垃圾回收器(GC)来处理,而不是由Spring容器显式调用销毁方法。

 4 init-method,destroy-method 初始方法和销毁方法

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。