SSM spring Bean基礎(chǔ)配置實例詳解
在 Spring 框架中,Bean 是一個非常核心的概念。簡單來說,Bean 是 Spring 容器管理的對象,它是由 Spring 容器實例化、配置和管理的。Spring 通過依賴注入(DI)將這些 Bean 組合在一起,形成一個完整的應(yīng)用程序。
什么是 Bean?
Bean 是 Spring 框架中的一個基本單元,通常是一個普通的 Java 對象(POJO),但它被 Spring 容器管理。Spring 容器負責 Bean 的生命周期,包括創(chuàng)建、初始化、依賴注入、銷毀等。
Bean 的特點
實例化:
- Spring 容器負責創(chuàng)建 Bean 的實例。
- 可以通過配置文件(XML)、注解(如
@Component、@Service、@Controller、@Repository)或 Java 配置類來定義 Bean。
依賴注入:
- Spring 容器會自動注入 Bean 所需的依賴關(guān)系。
- 依賴注入可以通過構(gòu)造器注入(Constructor Injection)或 setter 方法注入(Setter Injection)來實現(xiàn)。
生命周期管理:
- Spring 容器管理 Bean 的生命周期,包括初始化、使用和銷毀。
- 可以通過實現(xiàn)
InitializingBean接口或定義@PostConstruct注解的方法來定義初始化邏輯。 - 可以通過實現(xiàn)
DisposableBean接口或定義@PreDestroy注解的方法來定義銷毀邏輯。
作用域:
- Bean 可以有不同的作用域,如
singleton(單例)、prototype(原型)、request(請求)、session(會話)等。 - 默認情況下,Bean 的作用域是
singleton,即容器中只有一個實例。
基礎(chǔ)配置

<?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);
}
}輸出如下:

這時應(yīng)在bean對象配置里加入?yún)?shù)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設(shè)置作用范圍,可選值為單例singloton,非單例prototype-->
<bean id="bookDao" name="dao" class="com.itheima.dao.impl.BookDaoImpl" scope="prototype" />
</beans>

到此這篇關(guān)于SSM spring Bean基礎(chǔ)配置的文章就介紹到這了,更多相關(guān)SSM spring Bean配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
@Accessors(chain = true)注解報錯的解決方案
這篇文章主要介紹了@Accessors(chain = true)注解報錯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06
解決feignClient調(diào)用時獲取返回對象類型匹配的問題
這篇文章主要介紹了解決feignClient調(diào)用時獲取返回對象類型匹配的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06
使用maven-assembly-plugin如何將system 依賴范圍的jar以class 方式
這篇文章主要介紹了使用maven-assembly-plugin如何將system 依賴范圍的jar以class 方式打包進 jar包中,本文給大家分享完美解決思路,結(jié)合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2023-06-06
Java 數(shù)據(jù)結(jié)構(gòu)算法Collection接口迭代器示例詳解
這篇文章主要為大家介紹了Java 數(shù)據(jù)結(jié)構(gòu)算法Collection接口迭代器示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09
詳解Springboot整合Dubbo之代碼集成和發(fā)布
本篇文章主要介紹了Springboot整合Dubbo之代碼集成和發(fā)布,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-12-12
springboot中使用mybatisplus自帶插件實現(xiàn)分頁的示例代碼
這篇文章主要介紹了springboot中使用mybatisplus自帶插件實現(xiàn)分頁,本文通過示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-09-09
Java語言實現(xiàn)非遞歸實現(xiàn)樹的前中后序遍歷總結(jié)
今天小編就為大家分享一篇關(guān)于Java語言實現(xiàn)非遞歸實現(xiàn)樹的前中后序遍歷總結(jié),小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-01-01

