當前位置:首頁 » 存儲配置 » spring如何讀取依賴它的配置文件

spring如何讀取依賴它的配置文件

發布時間: 2022-08-12 19:58:25

① 如何在SpringBoot下讀取自定義properties配置文件

application.properties這個配置文件非常靈活,可以配置的東西也非常多,根據自己引入的依賴的不同,這個配置也可有所不同;
當然這個配置文件也可以有自定義的配置

② 是怎麼讀取配置文件的

<!-- 正文開始 -->
一般來說。我們會將一些配置的信息放在。properties文件中。
然後使用${}將配置文件中的信息讀取至spring的配置文件。

那麼我們如何在spring讀取properties文件呢。

1.首先。我們要先在spring配置文件中。定義一個專門讀取properties文件的類.
例:
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath*:jdbc.properties</value>
<!--要是有多個配置文件,只需在這里繼續添加即可 -->
</list>
</property>
</bean>

這里為什麼用locations(還有一個location)
是因為。一般來說。我們的項目裡面。配置文件可能存在多個。
就算是只有一個。那將來新添加的話。只需在下面再加一個value標簽即可。
而不必再重新改動太多。(當然。性能上是否有影響,這個以當前這種伺服器的配置來說。是基科可以忽略不計的)。

然後我們就可以在jdbc.properties文件中填寫具體的配置信息了。

<!-- 配置C3P0數據源 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass">
<value>${jdbc.driverClassName}</value>
</property>
<property name="jdbcUrl">
<value>${jdbc.url}</value>
</property>
<property name="user">
<value>${jdbc.username}</value>
</property>
<property name="password">
<value>${jdbc.password}</value>
</property>
</bean>

jdbc.properties文件寫的信息。

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test
jdbc.username=root
jdbc.password=root

附加一個列子:
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>file:/data/pc-config/passport.properties</value>
<value>classpath:memcached.properties</value>
</list>
</property>
</bean>
classpath:是指的當前類文件的目錄下。
file:在window下是指的當前分區(比如你的項目是放在d盤,則是在d:/data/pc-config/passport.properties)
linux下,則是當前路徑下的文件/data/pc-config/passport.properties

③ 請教,如何spring boot里動態讀取配置文件

這個跟spring mvc一樣的啊,首先你看你的spring-mvc.xml 有沒有配置defaultViewResolver,
<property name="prefix" value="/webpage/" />
<property name="suffix" value=".jsp" />

然後你在action的方法中如果1.標注了@ResponseBody,返回字元串的話是通過write輸出到頁面。2.沒有標注這個,spring mvc會到配置的目錄下 找相應的jsp。比如返回 "hello",它就在 webpage/目錄下找hello.jsp。 返回 "user/login",它就會找 webpage/user/login.jsp

④ 如何在spring中讀取properties配置文件裡面的信息

一般來說。我們會將一些配置的信息放在。properties文件中。 然後使用${}將配置文件中的信息讀取至spring的配置文件。 那麼我們如何在spring讀取properties文件呢。 1.首先。我們要先在spring配置文件中。定義一個專門讀取properties文件的類. 例: <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>classpath*:jdbc.properties</value> <!--要是有多個配置文件,只需在這里繼續添加即可 --> </list> </property> </bean> 這里為什麼用locations(還有一個location) 是因為。一般來說。我們的項目裡面。配置文件可能存在多個。 就算是只有一個。那將來新添加的話。只需在下面再加一個value標簽即可。 而不必再重新改動太多。(當然。性能上是否有影響,這個以當前這種伺服器的配置來說。是基科可以忽略不計的)。 然後我們就可以在jdbc.properties文件中填寫具體的配置信息了。 <!-- 配置C3P0數據源 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="driverClass"> <value>${jdbc.driverClassName}</value> </property> <property name="jdbcUrl"> <value>${jdbc.url}</value> </property> <property name="user"> <value>${jdbc.username}</value> </property> <property name="password"> <value>${jdbc.password}</value> </property> </bean> jdbc.properties文件寫的信息。 jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/test jdbc.username=root jdbc.password=root 附加一個列子: <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>file:/data/pc-config/passport.properties</value> <value>classpath:memcached.properties</value> </list> </property> </bean> classpath:是指的當前類文件的目錄下。 file:在window下是指的當前分區(比如你的項目是放在d盤,則是在d:/data/pc-config/passport.properties) 在linux下,則是當前路徑下的文件/data/pc-config/passport.properties 轉載僅供參考,版權屬於原作者。祝你愉快,滿意請~~哦

⑤ spring如何動態載入配置文件,就是配置文件修改了,application.xml如何能讀取到

項目,需要訪問多個資料庫,而且需要在伺服器運行不重新啟動的情況下,動態的修改spring中配置的數據源datasource,在網上找了很多資料,最後找到了適合我的方法,下面總結一下。
spring的配置文件是在容器啟動的時候就載入到內存中的,如果手動改了application.xml,我們必須要重新啟動伺服器配置文件才會生效。而在spring中提供了一個類WebApplicationContext,這個類可以讓你獲得一些bean,可以修改內存中的信息,我就是通過這個類來實現的。下面是我具體的代碼。

package com.southdigital.hospital;

import java.io.IOException;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;

import com.mchange.v2.c3p0.ComboPooledDataSource;

public class ChangeSpringConfig extends HttpServlet
{

private String ipAddress = "127.0.0.1";

/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
doPost(request, response);
}

/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
//先取得servleContext對象,提供給spring的WebApplicationUtils來動態修改applicationContext.xml

ipAddress = request.getParameter("ipAddress");
System.out.println(ipAddress);

ServletContext servletContext = this.getServletContext();
WebApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(servletContext);
ComboPooledDataSource cpds = (ComboPooledDataSource) applicationContext.getBean("dataSource");
cpds.setJdbcUrl("jdbc:mysql://"+ipAddress+":3306/ssh");

}

}
注意:通過這種方法修改applicationContext.xml文件的時候用c3p0,而不可以用dbcp,dbcp不支持動態修改讀取到內存裡面的數據。
spring 3.1已經支持了。

⑥ spring 跨項目讀取配置文件

配置文件可以考慮放在一個classpath--source folder 裡面取名為config,在web.xml裡面配置就可以了。

比如這樣:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
<![CDATA[
classpath:/spring-maven1.xml,
classpath:/spring-maven2.xml,
classpath:/spring-maven3.xml
]]>
</param-value>
</context-param>

這樣在啟動的時候就回去載入指定的spring配置文件了。

⑦ Java中spring讀取配置文件的幾種方法

Java中spring讀取配置文件的幾種方法如下:
一、讀取xml配置文件
(一)新建一個java bean
package chb.demo.vo;
public class HelloBean {
private String helloWorld;
public String getHelloWorld() {
return helloWorld;
}
public void setHelloWorld(String helloWorld) {
this.helloWorld = helloWorld;
}
}
(二)構造一個配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd" >
<beans>
<bean id="helloBean" class="chb.demo.vo.HelloBean">
<property name="helloWorld">
<value>Hello!chb!</value>
</property>
</bean>
</beans>
(三)讀取xml文件
1.利用
ApplicationContext context = new ("beanConfig.xml");
//這種用法不夠靈活,不建議使用。
HelloBean helloBean = (HelloBean)context.getBean("helloBean");
System.out.println(helloBean.getHelloWorld());
2.利用FileSystemResource讀取
Resource rs = new FileSystemResource("D:/software/tomcat/webapps/springWebDemo/WEB-INF/classes/beanConfig.xml");
BeanFactory factory = new XmlBeanFactory(rs);
HelloBean helloBean = (HelloBean)factory.getBean("helloBean");
System.out.println(helloBean.getHelloWorld());
值得注意的是:利用FileSystemResource,則配置文件必須放在project直接目錄下,或者寫明絕對路徑,否則就會拋出找不到文件的異常。
二、讀取properties配置文件
這里介紹兩種技術:利用spring讀取properties 文件和利用java.util.Properties讀取
(一)利用spring讀取properties 文件
我們還利用上面的HelloBean.java文件,構造如下beanConfig.properties文件:
helloBean.class=chb.demo.vo.HelloBean
helloBean.helloWorld=Hello!chb!
屬性文件中的"helloBean"名稱即是Bean的別名設定,.class用於指定類來源。
然後利用org.springframework.beans.factory.support.來讀取屬性文件
BeanDefinitionRegistry reg = new DefaultListableBeanFactory();
reader = new (reg);
reader.loadBeanDefinitions(new ClassPathResource("beanConfig.properties"));
BeanFactory factory = (BeanFactory)reg;
HelloBean helloBean = (HelloBean)factory.getBean("helloBean");
System.out.println(helloBean.getHelloWorld());
(二)利用java.util.Properties讀取屬性文件
比如,我們構造一個ipConfig.properties來保存伺服器ip地址和埠,如:
ip=192.168.0.1
port=8080
則,我們可以用如下程序來獲得伺服器配置信息:
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ipConfig.properties");
Properties p = new Properties();
try {
p.load(inputStream);
} catch (IOException e1) {
e1.printStackTrace();
}
System.out.println("ip:"+p.getProperty("ip")+",port:"+p.getProperty("port"));
三 、用介面類WebApplicationContext來取。
private WebApplicationContext wac;
wac =WebApplicationContextUtils.(
this.getServletContext());
wac = WebApplicationContextUtils.getWebApplicationContext(
this.getServletContext());
JdbcTemplate jdbcTemplate = (JdbcTemplate)ctx.getBean("jdbcTemplate");
其中,jdbcTemplate為spring配置文件中的一個bean的id值。

這種用法比較靈活,spring配置文件在web中配置啟動後,該類會自動去找對應的bean,而不用再去指定配置文件的具體位置。

⑧ spring配置的bean怎麼獲取

通過xml配置文件
bean配置在xml裡面,spring提供多種方式讀取配置文件得到ApplicationContext.
第一種方式:
通過程序在初始化的時候,導入Bean配置文件,然後得到Bean實例:
ApplicationContext ac = new (applicationContext.xml)
ac.getBean(beanName);
第二種方式:WebApplicationContextUtil

⑨ 伺服器是怎樣讀取spring配置文件

你問的太籠統,也大概給你說一下,伺服器對應一個容器,像tomcat、jboss、jetty 等服務啟動都會啟動容器,每個容器的配置文件時web.xml啟動時都會讀取裡面的配置,spring的配置文件也在web.xml中引入,你可以去看下web.xml的配置裡面是有 import application-xxxx.xml的;不知道你具體想問什麼,先說這些!

⑩ spring 怎麼讀取properties

在現實工作中,我們常常需要保存一些系統配置信息,大家一般都會選擇配置文件來完成,本文根據我工作中用到的讀取properties配置文件的方法小小總結一下,主要敘述的是spring讀取配置文件的方法。
用spring讀取配置文件,最典型的就是關於資料庫的連接,下面就是一個例子:
文件jdbc.properties:
-------------------------------------------------------------------------------------
driverClassName com.MySQL.jdbc.Driver
url jdbc:mysql://localhost:3306/test
username root
password 1234
------------------------------------------------------------------------------------
引入spring的相關jar包,在applicationContext.xml中配置:
-------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>src/jdbc.properties</value>
</property>
</bean>

<bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>${driverClassName}</value>
</property>
<property name="url">
<value>${url}</value>
</property>
<property name="username">
<value>${username}</value>
</property>
<property name="password">
<value>${password}</value>
</property>
</bean>

<bean id="" class="com.zh.model.DataDAO">
<property name="datasource">
<ref local="datasource"/>
</property>
</bean>

</beans>

熱點內容
xp系統文件夾加密 發布:2025-01-09 04:52:38 瀏覽:168
外部調用shell腳本內函數 發布:2025-01-09 04:49:14 瀏覽:249
java資料庫搜索 發布:2025-01-09 04:48:30 瀏覽:615
pythoninspect 發布:2025-01-09 04:42:12 瀏覽:411
資料庫系統概論第 發布:2025-01-09 04:29:34 瀏覽:461
一元奪寶伺服器怎麼樣 發布:2025-01-09 04:24:58 瀏覽:518
idc腳本編寫 發布:2025-01-09 04:14:40 瀏覽:372
玩我的世界電腦伺服器延遲怎麼辦 發布:2025-01-09 04:04:18 瀏覽:66
pythonfor條件 發布:2025-01-09 03:51:14 瀏覽:726
如何獲取代理伺服器 發布:2025-01-09 03:50:39 瀏覽:658