国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Spring的加載配置文件、容器和獲取bean的方式

這篇具有很好參考價(jià)值的文章主要介紹了Spring的加載配置文件、容器和獲取bean的方式。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。


Spring的加載配置文件、容器和獲取bean的方式,# JavaWeb,spring,java,后端

??個(gè)人主頁(yè): ?? 葉落閑庭
??我的專(zhuān)欄:??
c語(yǔ)言
數(shù)據(jù)結(jié)構(gòu)
javaweb

石可破也,而不可奪堅(jiān);丹可磨也,而不可奪赤。

一、加載properties文件

1.1加載單個(gè)properties文件

  • properties文件:jdbc.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/mybatis
jdbc.username=root
jdbc.password=123456
  • 1.開(kāi)啟context命名空間
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd
        ">
</beans>
  • 2.使用context命名空間,加載指定properties文件
<context:property-placeholder location="jdbc.properties"/><context:property-placeholder location="jdbc.properties"/>
  • 3.使用屬性占位符${}讀取properties文件中的屬性
<bean  class="com.alibaba.druid.pool.DruidDataSource">
        <property name="driverClassName" value="${jdbc.driver}"/>
        <property name="url" value="${jdbc.url}"/>
        <property name="username" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
    </bean>

Spring的加載配置文件、容器和獲取bean的方式,# JavaWeb,spring,java,后端

1.2加載多個(gè)properties文件

  • properties文件1:jdbc.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/mybatis
jdbc.username=root
jdbc.password=123456
  • properties文件2:jdbc2.properties
username=zhangsan
  • 2.使用context命名空間,加載指定properties文件
<!--1.開(kāi)啟context命名空間-->
    <!--2.使用context空間加載properties文件-->
    <context:property-placeholder location="jdbc.properties,jdbc2.properties" system-properties-mode="NEVER"/>
    <!--spring加載配置文件-->
    <!--3.使用屬性占位符${}讀取properties文件中的屬性-->
    <bean  class="com.alibaba.druid.pool.DruidDataSource">
        <property name="driverClassName" value="${jdbc.driver}"/>
        <property name="url" value="${jdbc.url}"/>
        <property name="username" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
    </bean>
    <bean id="bookDao" class="com.practice.dao.impl.BookDaoImpl">
        <property name="name" value="${jdbc.username}"/>
        <property name="name2" value="${username}"/>
    </bean>

Spring的加載配置文件、容器和獲取bean的方式,# JavaWeb,spring,java,后端

  • 3.最理想的方式,使用*.properties即表示加載所有properties文件
    <context:property-placeholder location="classpath*:*.properties" system-properties-mode="NEVER"/>

1.3加載properties文件小結(jié)

  • 不加載系統(tǒng)屬性
    <context:property-placeholder location="jdbc.properties" system-properties-mode="NEVER"/>
  • 加載多個(gè)properties文件
    <context:property-placeholder location="jdbc.properties,jdbc2.properties"/>
  • 加載所有properties文件
    <context:property-placeholder location="*.properties"/>
  • 加載properties文件標(biāo)準(zhǔn)格式
    <context:property-placeholder location="classpath:*.properties"/>
  • 從類(lèi)路徑或jar包搜索并加載properties文件
    <context:property-placeholder location="classpath*:*.properties"/>

二、容器

2.1創(chuàng)建容器

2.1.1加載類(lèi)路徑下的配置文件

public class App {
    public static void main(String[] args) {
        ApplicationContext act = new ClassPathXmlApplicationContext("applicationContext.xml");
        BookDao bookDao = (BookDao) act.getBean("bookDao");
        bookDao.save2();
    }
}

Spring的加載配置文件、容器和獲取bean的方式,# JavaWeb,spring,java,后端

2.1.2從文件系統(tǒng)下加載配置文件(了解)

public class App {
    public static void main(String[] args) {
        //從文件系統(tǒng)下加載配置文件,參數(shù)為配置文件的絕對(duì)路徑
        ApplicationContext act = new FileSystemXmlApplicationContext("D:\\storage\\java_practice\\spring-7-30\\src\\main\\resources\\applicationContext.xml");
        BookDao bookDao = (BookDao) act.getBean("bookDao");
        bookDao.save2();
    }
}

2.1.3加載多個(gè)配置文件

        ApplicationContext act = new ClassPathXmlApplicationContext("bean1.xml","bean2.xml");

2.2獲取bean

2.2.1類(lèi)型強(qiáng)轉(zhuǎn)

        BookDao bookDao = (BookDao) act.getBean("bookDao");

2.2.2多個(gè)參數(shù)

        BookDao bookDao = act.getBean("bookDao",BookDao.class);

2.2.3按類(lèi)型獲取

  • 對(duì)應(yīng)的bean中此類(lèi)型只能有一個(gè)
        BookDao bookDao = act.getBean(BookDao.class);

總結(jié)

關(guān)于Spring的加載配置文件、容器和獲取bean的方式大概就這么多,歡迎各位小伙伴點(diǎn)贊+關(guān)注?。。?/font>文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-617686.html

到了這里,關(guān)于Spring的加載配置文件、容器和獲取bean的方式的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【JavaEE】Spring中注解的方式去獲取Bean對(duì)象

    【JavaEE】Spring中注解的方式去獲取Bean對(duì)象

    【JavaEE】Spring的開(kāi)發(fā)要點(diǎn)總結(jié)(3) 在前面的代碼里,我們獲取Bean對(duì)象也比較麻煩: 本文章就是為了更方便地去獲取Bean對(duì)象~ 對(duì)象裝配 也叫 對(duì)象注入 那么有沒(méi)有對(duì)應(yīng)的注解去實(shí)現(xiàn)這個(gè)功能呢? Spring提供的三種實(shí)現(xiàn)方法: 屬性注入 構(gòu)造方法注入 Setter注入 而這種非明文獲取

    2024年02月15日
    瀏覽(26)
  • spring(1):基于XML獲取Bean對(duì)象以及各種依賴(lài)注入方式

    1.1 根據(jù)id獲取 1.2 根據(jù)類(lèi)型獲取 1.3 根據(jù)id和類(lèi)型獲取 注意: 當(dāng)根據(jù)類(lèi)型獲取bean時(shí),要求IOC容器中指定類(lèi)型的bean有且只能有一個(gè)。 例如以下XML文件,當(dāng)IOC容器中一共配置了兩個(gè),根據(jù)類(lèi)型獲取時(shí)會(huì)拋出異常。 根據(jù)類(lèi)型來(lái)獲取bean時(shí),在滿(mǎn)足bean唯一性的前提下,其實(shí)只是看:

    2024年01月25日
    瀏覽(56)
  • JavaWeb開(kāi)發(fā)06-原理-Spring配置優(yōu)先級(jí)-Bean管理-SpringBoot原理-Maven繼承和聚合-私服

    JavaWeb開(kāi)發(fā)06-原理-Spring配置優(yōu)先級(jí)-Bean管理-SpringBoot原理-Maven繼承和聚合-私服

    不同配置文件,配置同一個(gè)屬性誰(shuí)有效 propertiesymlyaml 命令行參數(shù)Java系統(tǒng)屬性 項(xiàng)目打包后要改變屬性: 紅色是Java系統(tǒng)屬性,綠色是命令行參數(shù) ‘ 獲取IOC容器:applicationContext就是IOC容器對(duì)象 IOC容器中bean是默認(rèn)單例的只有一個(gè),這樣三個(gè)獲取的bean是同一個(gè) 單例還是多例取決

    2024年04月23日
    瀏覽(20)
  • 【Spring學(xué)習(xí)】走進(jìn)spring,spring的創(chuàng)建和使用,spring獲取Bean的幾種常見(jiàn)方式, ApplicationContext 和 BeanFactory的區(qū)別(重點(diǎn)面試)

    【Spring學(xué)習(xí)】走進(jìn)spring,spring的創(chuàng)建和使用,spring獲取Bean的幾種常見(jiàn)方式, ApplicationContext 和 BeanFactory的區(qū)別(重點(diǎn)面試)

    前言: 大家好,我是 良辰丫 ,我們?cè)谏弦黄恼虏皇呛?jiǎn)單介紹了SpringBoot嘛,為什么不學(xué)習(xí)SpringBoot,而是要開(kāi)始Spring呢?Spring是SpringBoot的前身,我們先學(xué)習(xí)以前的稍微復(fù)雜的框架,才能更好的學(xué)習(xí)SpringBoot.?????? ??個(gè)人主頁(yè):良辰針不戳 ??所屬專(zhuān)欄:javaEE進(jìn)階篇之框架學(xué)習(xí) ??勵(lì)志

    2024年02月08日
    瀏覽(24)
  • javaee spring配置文件bean標(biāo)簽詳解

    bean標(biāo)簽中添加scope屬性,設(shè)置bean對(duì)應(yīng)對(duì)象生成規(guī)則. scope = “singleton” 單例,默認(rèn)值,適用于實(shí)際開(kāi)發(fā)中的絕大部分情況. scope=“prototype” 多例,適用于struts2中的action配置 注意: 只對(duì)單例有效,設(shè)置scope=\\\"singleton\\\"時(shí)測(cè)試 延時(shí)創(chuàng)建屬性. lazy-init=“false” 默認(rèn)值,不延遲創(chuàng)建,即在啟動(dòng)時(shí)

    2024年02月11日
    瀏覽(36)
  • spring復(fù)習(xí):(50)@Configuration注解配置的singleton的bean是什么時(shí)候被創(chuàng)建出來(lái)并緩存到容器的?

    spring復(fù)習(xí):(50)@Configuration注解配置的singleton的bean是什么時(shí)候被創(chuàng)建出來(lái)并緩存到容器的?

    一、主類(lèi): 二、配置類(lèi): 三、singleton bean的創(chuàng)建流程 運(yùn)行到context.refresh(); 進(jìn)入refresh方法: 向下運(yùn)行到紅線位置時(shí): 會(huì)實(shí)例化所有的singleton bean.進(jìn)入finisheBeanFactoryInitialization方法: 向下拖動(dòng)代碼,可以看到beanFactory.preInstantiateSingletons(); 進(jìn)入preInstantiateSingletons方法: 可以看

    2024年02月16日
    瀏覽(24)
  • 73.是否可以把我們所需的Bean都放入Spring-mvc子容器里面來(lái)管理(springmvc的spring-servlet.xml中配置全局掃描)?

    可以 , 因?yàn)楦溉萜鞯捏w現(xiàn)無(wú)非是為了獲取子容器不包含的bean, 如果全部包含在子容器完全用不到父容器了, 所以是可以全部放在springmvc子容器來(lái)管理的。 雖然可以這么做不過(guò)一般應(yīng)該是不推薦這么去做的,一般人也不會(huì)這么干的。如果你的項(xiàng)目里有用到事物、或者aop記得也

    2024年02月21日
    瀏覽(25)
  • springBoot bean的多種加載方式

    1、通過(guò)xml 2、通過(guò)注解@Component及其衍生注解@Controller、@Service、@Repository定義bean ? ? 例子: ? ? ? ? @Component ? ? ? ?public void Car{ ? ? ? ?} 3、使用@Configuration定義成一個(gè)配置類(lèi) ? ? ?@Configuration ? ? ? public void Car{ ? ? ? ?} 4、實(shí)現(xiàn)FactoryBean ? ? ? ?例子:? ? ? ?? 5、加載

    2024年02月06日
    瀏覽(20)
  • SpringBoot項(xiàng)目加載配置文件的6種方式

    目錄 1、通過(guò)@value注入 2、通過(guò)@ConfigurationProperties注入 3、通過(guò)框架自帶對(duì)象Environment實(shí)現(xiàn)屬性動(dòng)態(tài)注入 4、通過(guò)@PropertySource注解實(shí)現(xiàn)外部配置文件注入屬性值 5、yml 外部配置文件動(dòng)態(tài)注入 6、Java原生態(tài)方式注入屬性值 滿(mǎn)足條件: 1、該類(lèi)首先要被SpringBoot框架管理,屬于SpringB

    2024年02月11日
    瀏覽(24)
  • Spring中Bean加載流程

    Spring中Bean加載流程

    BeanDefinition 1.1什么是BeanDefinition? 1.2 BeanDifinition中重要的屬性 1.3 BeanDefinition的解析 BeanFactory 2.1 什么是BeanFactory? 2.2 BeanFactory工作流程: Bean生命周期 3.1 什么是Bean生命周期? Bean生命周期是Spring中一個(gè)Bean創(chuàng)建過(guò)程和銷(xiāo)毀過(guò)程中所經(jīng)歷的步驟,其中Bean創(chuàng)建過(guò)程是重點(diǎn)。 3.2 核

    2024年02月09日
    瀏覽(19)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包