Spring配置文件简介和3种实例化方式

本文介绍了Spring配置文件中的Bean标签,包括基本配置、范围配置和生命周期。详细讲解了Bean的3种实例化方式:无参构造方法、工厂静态方法和工厂实例方法,并探讨了Bean的依赖注入改进,如set注入和构造器注入。
摘要由CSDN通过智能技术生成

Spring配置文件简介和3种实例化方式

1.Bean标签基本配置

用于配置对象交由Spring 来创建。
默认情况下它调用的是类中的无参构造函数,如果没有无参构造函数则不能创建成功。

基本属性:

  • id:Bean实例在Spring容器中的唯一标识
  • class:Bean的全限定名称

2.Bean标签范围配置

取值范围 说明
singleton 单例,默认的
prototype 多例
request WEB 项目中,Spring 创建一个 Bean 的对象,将对象存入到 request 域中
session WEB 项目中,Spring 创建一个 Bean 的对象,将对象存入到 session 域中
global session WEB 项目中,应用在 Portlet 环境,如果没有 Portlet 环境那么globalSession 相当于 session
  • 当scope的取值为singleton
    Bean的实例化个数:1个
    Bean的实例化时机:当Spring核心文件被加载时,实例化配置的Bean实例
    Bean的生命周期:

    • 对象创建:当应用加载,创建容器时,对象就被创建了
    • 对象运行:只要容器在,对象一直活着
    • 对象销毁:当应用卸载,销毁容器时,对象就被销毁了
  • 当scope的取值为prototype时
    Bean的实例化个数:多个
    Bean的实例化时机:当调用getBean()方法时实例化Bean

    • 对象创建:当使用对象时,创建新的对象实例
    • 对象运行:只要对象在使用中,就一直活着
    • 对象销毁:当对象长时间不用时,被 Java 的垃圾回收器回收了

3.Bean生命周期配置

  • init-method:指定类中的初始化方法名称
  • destroy-method:指定类中销毁方法名称

测试代码


-----------xml------------------
<?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">

    <!--singleton单例,prototype多例-->
    <bean id="userDao" class="com.itspring.a.a2.dao.UserDaoImpl"
          scope="singleton" init-method="init" destroy-method="destroy"/>
    <bean id="userService" class="com.itspring.a.a2.service.UserService"
          scope="prototype"></bean>
</beans>
-----------dao--------------------------
package com.itspring.a.a2.dao;

public class UserDaoImpl implements UserDao {
   
    public void save() {
   
        System
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值