アプリケーションシナリオ:
javaで読み取る必要があるものはたくさんありますが、jdbc接続構成、構成ファイルのロード(パスまたはクラス名を変更する可能性があります)など、変更される可能性があります。Javaで直接記述されている場合は、読み取り用にクラスファイルにコンパイルされた後、プロパティファイルを構成することで実現できるjavaファイルを変更しないように最善を尽くす必要があります。
1.Javaファイルのプロパティファイルを読み取る方法
ステップ:
- プロパティのオブジェクトを作成します
- クラスローダーを介してプロパティファイルの
InputStream
ストリームオブジェクトを取得しますXxxClass.class.getClassLoader().getResourceAsStream("xx.properties");
- Propertiesオブジェクトの
load(InputStream)
メソッドを呼び出してプロパティファイルをロードします。パラメータはプロパティファイルのInputStream
ストリームオブジェクトです。 - Propertiesオブジェクトの
getProperty(key)
メソッドを介してプロパティファイルの値を読み取ります。パラメータはプロパティファイルのキーです。
//从配置文件中取数据 .properties Properties
Properties p = new Properties();
InputStream is = LoginServlet.class.getClassLoader().getResourceAsStream("info.properties");
p.load(is);
System.out.println(p.getProperty("applicationConfig"));
System.out.println(p.getProperty("PersonServiceImpl"));
//调用登录方法p.getProperty("config")获取属性文件中的config键的值 也就是核心配置文件的路径
ClassPathXmlApplicationContext context=new ClassPathXmlApplicationContext(p.getProperty("config"));
IPersonService personService = (IPersonService) context.getBean(p.getProperty("serviceId"));
プロパティファイルinfo.propertiesを設定します
applicationConfig = applicationContext.xml
PersonServiceImpl = personServiceImpl
結果を実行し、正常に読み取ります
applicationContext.xml
personServiceImpl
2.xmlでプロパティファイルを読み取ります
することによりcontext:property-placeholder
、タグ、読者
<context:property-placeholder location="classpath:db.properties" />
場所は、コンパイルされたクラスファイルのディレクトリです。db.properties
プロパティファイルはresources
ディレクトリに配置されているため、対応するclasses
ディレクトリに直接あり、ターゲットディレクトリから表示できます。