Spring 进阶(4) 重写占位配置器

52 篇文章 0 订阅
  1. 学这个很多东西看书模模糊糊,要实际操作立马就懂了。
  2. 这个重写占位配置器,就是在比占位配置器的功能更加强大,它可以实现无需在bean下显式地配置peoperty信息,而是由重写展位配置器自动填充,它可以综合配置文件和属性文件的信息,当这两者的发生冲突的时候,属性文件(properties文件)会覆盖配置文件的信息。
  3. 要特别提醒地是,要实现重写资源配置器自动填充功能,需要在属性文件中把地属性格式写成酱紫,不然重写占位配置器会找不到的,毕竟它只是一个重写占位配置器
    配置文件中某个bean的id.属性名字  = 具体值

     

  4. 这是代码,少侠笑纳
    package TestPackage;
    
    import DbPackage.Db;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    //测试类
    public class SpringTest {
        public static void main(String []args){
            ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml");
            Db db =  applicationContext.getBean("dataSource", Db.class);
            System.out.println(db.getDriver());
    
        }
    }
    
    <?xml version="1.0" encoding="GBK"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:p="http://www.springframework.org/schema/p"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
    	http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">
    
        <!--就是这里,重写属性配置器无需指定id,实现类为PropertyOverrideConfigurer,然后指定好属性文件-->
        <bean class="org.springframework.beans.factory.config.PropertyOverrideConfigurer">
            <property name="locations">
                <list>
                    <value>dbconn.properties</value>
                </list>
            </property>
        </bean>
    
    <!--然后,这里试图使用配置文件定义dataSource的一个属性值,但这是会被重写占位配置器给覆盖的。-->
        <bean id="dataSource" class="DbPackage.Db">
        <property name="driver" value="okokok"   />
        </bean>
    
    
    </beans>
    #在属性文件中,属性的名字要写对。
    dataSource.driver =  com.microsoft.sqlserver.jdbc.SQLServerDriver
    dataSource.url = jdbc:sqlserver://localhost:1433; DatabaseName=homework_Submit_System
    dataSource.user =  root
    dataSource.pass = 123456
    package DbPackage;
    
    //这是普通bean
    public class Db {
        private String driver;
        private String url;
        private String user;
        private String  pass;
    
        public void setDriver(String driver) {
            this.driver = driver;
        }
    
        public String getDriver() {
            return driver;
        }
    
        public String getUrl() {
            return url;
        }
    
        public String getUser() {
            return user;
        }
    
        public String getPass() {
            return pass;
        }
    
        public void setUrl(String url) {
            this.url = url;
        }
    
        public void setUser(String user) {
            this.user = user;
        }
    
        public void setPass(String pass) {
            this.pass = pass;
        }
    
    }
    

    这是我看李刚编著的《轻量级javaEE企业应用实战(第五版)-Struts2+Spring5+Hibernate5/JAP2》后总结出来的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值