• 读取配置的方式


    1、ResourceBundle.getBundle,配置文件得放在 WEB-INFclass 目录下

    package com.seam.mango.action.config;
    
    import java.util.MissingResourceException;
    import java.util.ResourceBundle;
    
    import org.jboss.seam.ScopeType;
    import org.jboss.seam.annotations.Create;
    import org.jboss.seam.annotations.Logger;
    import org.jboss.seam.annotations.Name;
    import org.jboss.seam.annotations.Scope;
    import org.jboss.seam.annotations.Startup;
    import org.jboss.seam.log.Log;
    
    import com.seam.mango.action.home.ActionHome;
    
    @Scope(ScopeType.APPLICATION)
    @Startup(depends = "systemConfigAction")
    @Name("appMessageAction")
    public class AppMessageAction extends ActionHome {
    
        private static final long serialVersionUID = -3238871819741809897L;
    
        @Logger
        private Log log;
    
        private ResourceBundle resourceBundle;
    
        @Create
        public ResourceBundle loadBundle() {
    
            String bundleName = "mango-app";
            try {
                resourceBundle = ResourceBundle.getBundle(bundleName);
            } catch (MissingResourceException mre) {
                log.error("resource bundle missing: " + bundleName);
                return null;
            }
            return resourceBundle;
        }
    
        public String getMessage(String key) {
            String value = "";
            
            try {
                value = resourceBundle.getString(key);
            } catch (Exception e) {
                value = key;
            }
            
            return value;
        }
    }

    2、getResourceAsStream,配置文件放在package里,但是ant的build.xml配置文件得让配置文件也能写到war包中,否则只有class文件能被写到war包中

    package com.Socket.util;
    
    import java.io.InputStream;
    import java.util.Properties;
    
    import com.Socket.event.FrequencyProperty;
    
    public final class PropertiesUtil {
    
        private static Properties prop;
    
        static {
            prop = new Properties();
            try {
                InputStream in = PropertiesUtil.class.getResourceAsStream("com.Socket/dzxh.properties");
                prop.load(in);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        public static String getPropertity(String key) {
            return prop.getProperty(key);
        }
        
    //    public static void main(String[] args) {
    //        System.out.println(PropertiesUtil.getPropertity("jxt.db.userName"));
    //        System.out.println(PropertiesUtil.getPropertity("yxt.db.host"));
    //    }
    
    }

    如下图所示,配置文件并未写到war包中

     

     

     3、在jar包里看到的,用的也是getResourceAsStream

     

  • 相关阅读:
    第二个冲刺 6.3.4.学术诚信与职业道德
    第二个冲刺 Sprint
    css之清除浮动
    style和getComputedStyle(ff)和currentStyle
    php 中间件
    Vue 和 angular
    img 分区响应图
    PHP composer
    php实现文件上传,下载的常见文件配置
    php 命名空间
  • 原文地址:https://www.cnblogs.com/LcxSummer/p/14069673.html
Copyright © 2020-2023  润新知