亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SSM spring Bean基礎配置實例詳解

 更新時間:2025年06月05日 10:28:10   作者:LB2112  
Bean是Spring框架中的一個基本單元,通常是一個普通的Java對象(POJO),但它被Spring容器管理,本文給大家介紹SSM spring Bean基礎配置,感興趣的朋友一起看看吧

在 Spring 框架中,Bean 是一個非常核心的概念。簡單來說,Bean 是 Spring 容器管理的對象,它是由 Spring 容器實例化、配置和管理的。Spring 通過依賴注入(DI)將這些 Bean 組合在一起,形成一個完整的應用程序。

什么是 Bean?        

Bean 是 Spring 框架中的一個基本單元,通常是一個普通的 Java 對象(POJO),但它被 Spring 容器管理。Spring 容器負責 Bean 的生命周期,包括創(chuàng)建、初始化、依賴注入、銷毀等。

Bean 的特點

實例化

  • Spring 容器負責創(chuàng)建 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>

別名配置

作用范圍

默認創(chuàng)建為單例對象 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配置內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java中正則表達式的使用和詳解(下)

    Java中正則表達式的使用和詳解(下)

    這篇文章主要介紹了Java正則表達式的使用和詳解(下)的相關資料,包括常用正則表達式和正則表達式語法,非常不錯,具有參考借鑒價值,需要的的朋友參考下吧
    2017-04-04
  • 解決myBatis generator逆向生成沒有根據主鍵的select,update和delete問題

    解決myBatis generator逆向生成沒有根據主鍵的select,update和delete問題

    這篇文章主要介紹了解決myBatis generator逆向生成沒有根據主鍵的select,update和delete問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • 公司一般使用的分布式RPC框架及其原理面試

    公司一般使用的分布式RPC框架及其原理面試

    這篇文章主要為大家介紹了公司一般使用的分布式RPC框架及其原理的面試問題解答,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪
    2022-03-03
  • MyEclipse如何將項目的開發(fā)環(huán)境與服務器的JDK 版本保持一致

    MyEclipse如何將項目的開發(fā)環(huán)境與服務器的JDK 版本保持一致

    我們使用MyEclipse開發(fā)Java項目開發(fā)中,偶爾會遇到因項目開發(fā)環(huán)境不協調,導致這樣那樣的問題,在這里以把所有環(huán)境調整為JDK1.6 為例,給大家詳細介紹MyEclipse如何將項目的開發(fā)環(huán)境與服務器的JDK 版本保持一致,需要的朋友參考下吧
    2024-04-04
  • Windows10下的超詳細Java安裝全過程

    Windows10下的超詳細Java安裝全過程

    文章主要介紹了如何在Windows?10系統下安裝Java開發(fā)工具包(JDK),包括Java的下載與安裝步驟以及Java環(huán)境的配置方法,最后通過命令行驗證Java環(huán)境是否配置成功
    2025-01-01
  • Trace?在多線程異步體系下傳遞流程解析

    Trace?在多線程異步體系下傳遞流程解析

    這篇文章主要為大家介紹了Trace?在多線程異步體系下傳遞流程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • 如何解決Mybatis--java.lang.IllegalArgumentException: Result Maps collection already contains value for X

    如何解決Mybatis--java.lang.IllegalArgumentException: Result Maps

    這兩天因為項目需要整合spring、struts2、mybatis三大框架,但啟動的時候總出現這個錯誤,困擾我好久,折騰了好久終于找到問題根源,下面小編給大家分享下問題所在及解決辦法,一起看看吧
    2016-12-12
  • SpringBoot是如何使用SQL數據庫的?

    SpringBoot是如何使用SQL數據庫的?

    今天給大家?guī)淼氖顷P于Springboot的相關知識,文章圍繞著SpringBoot是如何使用SQL數據庫的展開,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • JavaCV與FFmpeg音視頻流處理技巧總結大全

    JavaCV與FFmpeg音視頻流處理技巧總結大全

    JavaCV是一個開源的Java接口,它為幾個著名的計算機視覺庫(如OpenCV、FFmpeg)提供了Java封裝,這篇文章主要給大家介紹了關于JavaCV與FFmpeg音視頻流處理技巧總結的相關資料,需要的朋友可以參考下
    2024-05-05
  • GC算法實現垃圾優(yōu)先算法

    GC算法實現垃圾優(yōu)先算法

    為什么會存在那么多的垃圾回收算法呢?我想這個問題的答案可能是沒有任何一種內存回收算法是完美的,所以在針對不同的情景需求下,不同的內存回收算法有其獨特的優(yōu)勢,所以最后就延續(xù)了多種回收算法
    2022-01-01

最新評論