zoukankan      html  css  js  c++  java
  • spring_07使用spring的特殊bean、完成分散配置

    一.   前言

        分散配置思路:创建properties文件,添加数据,在beans文件中先配置properties文件,再在bean中使用占位符引用数据

    1. 对于bean的生命周期中的很多处理接口,处理方法都是spring自带bean完成,即spring的特殊bean.

        2. 当通过 context:property-placeholder 引入 属性文件的时候,有多个需要使用 , 号间隔.

        3.beans文件使用占位符引用properties文件中内容:eg.${key}

    二. 分散配置 

      通过自建properties文件,配置键值,在spring配置文件中读取,实现分散配置

      db.properties文件  

      username=admin
      password=123456
      driver=com.ahd.www

      配置文件beans:

    <?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"
            xmlns:tx="http://www.springframework.org/schema/tx"
            xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
                    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
                    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
        
        <!-- 引入我们的db.properties文件 -->
        <!-- 方式一:配置bean 
        <bean class="PropertyPlaceholderConfigurer">
            <property name="locations">
                <list>
                    <value>com/ahd/dispatcher/db.properties</value>
                </list>
            </property>
        </bean>        
        -->    
    <!-- 方式二: -->
        <context:property-placeholder location="classpath:com/ahd/dispatcher/db.properties"></context:property-placeholder>
                    
        <bean id="dbutil" class="com.ahd.dispatcher.DBUtil">
            <property name="username"><value>${username}</value></property>
            <property name="password"><value>${password}</value></property>
            <property name="drivername"><value>${driver}</value></property>
        </bean>
    
    </beans>

      

      DBUtil类:  

    package com.ahd.dispatcher;
    
    public class DBUtil {
        
        private String username;
        private String password;
        private String drivername;
        
        
        public DBUtil() {
        }
        public String getUsername() {
            return username;
        }
        public void setUsername(String username) {
            this.username = username;
        }
        public String getPassword() {
            return password;
        }
        public void setPassword(String password) {
            this.password = password;
        }
        public String getDrivername() {
            return drivername;
        }
        public void setDrivername(String drivername) {
            this.drivername = drivername;
        }
        
        
    }
    DBUtil.java

      测试类:Test.java

    package com.ahd.dispatcher;
    
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    public class Test {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            ApplicationContext ac=new ClassPathXmlApplicationContext("com/ahd/dispatcher/beans.xml");
            
            DBUtil dbutil = (DBUtil) ac.getBean("dbutil");
            
            System.out.println(dbutil.getUsername()+"    "+dbutil.getPassword());
        }
    
    }
    Test
  • 相关阅读:
    数据类型补充
    Kubernetes1.18.5 Cilium安装
    Cilium安装要求
    CentOS内核升级
    临时存储 Ephemeral Storage
    Pod优先级
    kubelet 垃圾回收策略
    Kubernetes Eviction驱逐
    根据PID查看具体的容器
    Kubernetes 资源预留(二)
  • 原文地址:https://www.cnblogs.com/aihuadung/p/10373556.html
Copyright © 2011-2022 走看看