当前位置: 代码网 > it编程>编程语言>Java > SSM spring Bean基础配置实例详解

SSM spring Bean基础配置实例详解

2025年06月05日 Java 我要评论
在 spring 框架中,bean 是一个非常核心的概念。简单来说,bean 是 spring 容器管理的对象,它是由 spring 容器实例化、配置和管理的。spring 通过依赖注入(di)将这些

在 spring 框架中,bean 是一个非常核心的概念。简单来说,bean 是 spring 容器管理的对象,它是由 spring 容器实例化、配置和管理的。spring 通过依赖注入(di)将这些 bean 组合在一起,形成一个完整的应用程序。

什么是 bean?        

bean 是 spring 框架中的一个基本单元,通常是一个普通的 java 对象(pojo),但它被 spring 容器管理。spring 容器负责 bean 的生命周期,包括创建、初始化、依赖注入、销毁等。

bean 的特点

实例化

  • spring 容器负责创建 bean 的实例。
  • 可以通过配置文件(xml)、注解(如 @component@service@controller@repository)或 java 配置类来定义 bean。

依赖注入

  • spring 容器会自动注入 bean 所需的依赖关系。
  • 依赖注入可以通过构造器注入(constructor injection)或 setter 方法注入(setter injection)来实现。

生命周期管理

  • spring 容器管理 bean 的生命周期,包括初始化、使用和销毁。
  • 可以通过实现 initializingbean 接口或定义 @postconstruct 注解的方法来定义初始化逻辑。
  • 可以通过实现 disposablebean 接口或定义 @predestroy 注解的方法来定义销毁逻辑。

作用域

  • bean 可以有不同的作用域,如 singleton(单例)、prototype(原型)、request(请求)、session(会话)等。
  • 默认情况下,bean 的作用域是 singleton,即容器中只有一个实例。

基础配置

 
<?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">
<!--name:为bean指定别名,别名可以有多个,使用逗号,分号,空格进行分隔-->
    <bean id="bookservice" name="service service4 bookebi" class="com.itheima.service.impl.bookserviceimpl">
        <property name="bookdao" ref="bookdao"/>
    </bean>

别名配置

作用范围

默认创建为单例对象 scope 默认 singleton

运行如下代码

package com.itheima;
import com.itheima.dao.bookdao;
import com.itheima.service.bookservice;
import org.springframework.context.applicationcontext;
import org.springframework.context.support.classpathxmlapplicationcontext;
public class appforscope {
    public static void main(string[] args) {
        applicationcontext ctx = new classpathxmlapplicationcontext("applicationcontext.xml");
        bookdao bookdao1 = (bookdao) ctx.getbean("bookdao");
        bookdao bookdao2 = (bookdao) ctx.getbean("bookdao");
        system.out.println(bookdao1);
        system.out.println(bookdao2);
    }
}

输出如下:

这时应在bean对象配置里加入参数scope。

<?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">
    <!--name:为bean指定别名,别名可以有多个,使用逗号,分号,空格进行分隔-->
    <bean id="bookservice" name="service service4 bookebi" class="com.itheima.service.impl.bookserviceimpl">
        <property name="bookdao" ref="bookdao"/>
    </bean>
    <!--scope:为bean设置作用范围,可选值为单例singloton,非单例prototype-->
    <bean id="bookdao" name="dao" class="com.itheima.dao.impl.bookdaoimpl" scope="prototype" />
</beans>

到此这篇关于ssm spring bean基础配置的文章就介绍到这了,更多相关ssm spring bean配置内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com