JavaShuo
欄目
標籤
【轉】spring中props,list,set,map元素在配置文件中的用法
時間 2019-12-08
標籤
spring
props
list
set
map
元素
配置文件
用法
欄目
Spring
简体版
原文
原文鏈接
在spring容器中配置bean,經常使用到的元素除了<value>和<ref>外,還有<props>、<list>、<set>、<map>,在hibernate等框架的配置文件中咱們常常能夠見到這些元素,下面是他們的具體用法。
1.<props>元素
<props>建立了一個注入的java.util.Properties元素。例如每一個人都有身高、體重等基本信息
Java代碼
1
import
java.util.Properties;
2
3
public
class
Person {
4
private
Properties basicInfo;
5
6
public
void
setBasicInfo(Properties basicInfo) {
7
this
.basicInfo = basicInfo;
8
}
9
}
配置方式:
Java代碼
1
<bean id=
"person"
class
=
"Person"
>
2
<property name=
"basicInfo"
>
3
<props>
4
<!-- 身高 -->
5
<prop key=
"stature"
>
1.75
</prop>
6
<!-- 體重 -->
7
<prop key=
"avoirdupois"
>
120
</prop>
8
</props>
9
</property>
10
</bean>
2.<list>元素
<list>元素對應於java.util.ArrayList.例如每一個人都有一些朋友
Java代碼
1
package
org.hag.flex.model;
2
3
import
java.util.List;
4
import
java.util.Properties;
5
6
public
class
Person {
7
private
Properties basicInfo;
8
private
List friends;
9
10
public
void
setBasicInfo(Properties basicInfo) {
11
this
.basicInfo = basicInfo;
12
}
13
14
public
void
setFriends(List friends) {
15
this
.friends = friends;
16
}
17
}
18
配置該person的朋友有小紅、姚明和張三
Java代碼
1
<bean id=
"yaoming"
class
=
"Person"
>
2
<prop key=
"age"
>
25
</prop>
3
<prop key=
"stature"
>
2.26
</prop>
4
<prop key=
"avoirdupois"
>
140
</prop>
5
</bean>
6
<bean id=
"person"
class
=
"Person"
>
7
<property name=
"basicInfo"
>
8
<props>
9
<!-- 身高 -->
10
<prop key=
"stature"
>
1.75
</prop>
11
<!-- 體重 -->
12
<prop key=
"avoirdupois"
>
120
</prop>
13
</props>
14
</property>
15
<property name=
"firends"
>
16
<list>
17
<value>xiaohong</value>
18
<ref local=
"yaoming"
/>
19
<value>zhangsan</value>
20
</list>
21
</property>
22
</bean>
3.<set>元素
<set>元素和<list>元素的用法同樣,不一樣的是他注入的是java.util.Set元素。
4.<map>元素
<map>元素用來注入java.util.Map元素。
Java代碼
1
<property name=
"score"
>
2
<map>
3
<entry key=
"math"
value=
"150"
></entry>
4
<entry key=
"english"
value=
"140"
></entry>
5
<entry key=
"chinese"
value=
"60"
></entry>
6
</map>
7
</property>
四、spring配置裏map的value是list配法
Java代碼
<map>
<entry key=
"a"
>
<list>
<ref bean=
"b"
/>
<ref bean=
"c"
/>
</list>
</entry>
<entry key=
"d"
>
<list>
<ref bean=
"e"
/>
</list>
</entry>
</map>
四、<!-- 外部配置文件 -->
Java代碼
<!-- 加載jdbc屬性文件 -->
<bean id=
"propertyConfigurer"
class
=
"org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
>
<property name=
"locations"
>
<list>
<value>classpath*:config.properties</value>
</list>
</property>
</bean>
<!-- 外部配置文件 -->
<context:property-placeholder location=
"classpath*:application.properties"
/>
<!--定義全局鏈接命名變量 -->
<util:properties id=
"posmqProperties"
location=
"classpath:/jms/pos-mq-jndi.properties"
/>
五、查找jndi的方式
Java代碼
<bean id=
"jmsConnectionFactory"
class
=
"org.springframework.jndi.JndiObjectFactoryBean"
>
<property name=
"jndiName"
>
<value>java:comp/env/jms/name</value>
</property>
</bean>
Java代碼
<!-- MQ 鏈接工廠 -->
<jee:jndi-lookup id=
"posMqConnectionFactory"
jndi-name=
"jms/posmq"
environment-ref=
"posmqProperties"
/>
<!--定義全局鏈接命名變量 -->
<util:properties id=
"posmqProperties"
location=
"classpath:/jms/pos-mq-jndi.properties"
/>
<!-- Jndi -->
<bean id=
"jndiTemplate"
class
=
"org.springframework.jndi.JndiTemplate"
>
<property name=
"environment"
>
<props>
<prop key=
"java.naming.factory.initial"
>
weblogic.jndi.WLInitialContextFactory
</prop>
<prop key=
"java.naming.provider.url"
>
t3:
//192.166.68.44:7001
</prop>
<prop key=
"java.naming.factory.url.pkgs"
>
weblogic.jndi.factories
</prop>
</props>
</property>
</bean>
<!-- jms sender -->
<bean id=
"jmsConnectionFactory"
class
=
"org.springframework.jndi.JndiObjectFactoryBean"
>
<property name=
"jndiTemplate"
ref=
"jndiTemplate"
/>
<property name=
"jndiName"
value=
"ConnectionFactory"
/>
</bean>
<bean id=
"jmsQueue"
class
=
"org.springframework.jndi.JndiObjectFactoryBean"
>
<property name=
"jndiTemplate"
ref=
"jndiTemplate"
></property>
<property name=
"jndiName"
value=
"Queue"
></property>
</bean>
<!-- jms template -->
<bean id=
"jmsTemplate"
class
=
"org.springframework.jms.core.JmsTemplate"
>
<property name=
"connectionFactory"
ref=
"jmsConnectionFactory"
></property>
<property name=
"defaultDestination"
ref=
"jmsQueue"
></property>
</bean>
六、Spring 在配置中使用*.properties
Java代碼
<?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:util=
"http://www.springframework.org/schema/util"
xsi:schemaLocation="http:
//www.springframework.org/schema/beans
http:
//www.springframework.org/schema/beans/spring-beans-3.0.xsd
http:
//www.springframework.org/schema/context
http:
//www.springframework.org/schema/context/spring-context-3.0.xsd
http:
//www.springframework.org/schema/util
http:
//www.springframework.org/schema/util/spring-util-3.0.xsd">
<context:annotation-config/>
<!-- picks up and registers AppConfig as a bean definition -->
<context:component-scan base-
package
=
"com.web.spring.other"
/>
<bean
class
=
"com.web.spring.other.AppConfig"
/>
訪法一
<context:property-placeholder location=
"classpath:jdbc.properties"
/>
方法二
<util:properties id=
"jdbcProperties"
location=
"classpath:jdbc.properties"
/>
</beans>
Java代碼
實現一:
package
com.web.spring.other;
import
org.springframework.beans.factory.annotation.Value;
import
org.springframework.context.annotation.Bean;
import
org.springframework.context.annotation.Configuration;
import
org.springframework.context.annotation.ImportResource;
@Configuration
@ImportResource
(
"classpath*:spring/spring-properties.xml"
)
public
class
AppConfig {
private
@Value
(
"${jdbc.driverClassName}"
) String driverClassName;
@Bean
(initMethod =
"init"
)
public
JDBCBean jdbc(){
JDBCBean jdbc=
new
JDBCBean();
jdbc.setDriverClassName(driverClassName);
return
jdbc;
}
}
實現二:
package
com.web.spring.other;
import
org.springframework.beans.factory.annotation.Value;
import
org.springframework.context.annotation.Bean;
import
org.springframework.context.annotation.Configuration;
@Configuration
public
class
AppConfig {
private
@Value
(
"#{jdbcProperties.driverClassName}"
) String driverClassName;
//private @Value("#{jdbcProperties['jdbc.driverClassName']}") String driverClassName;
@Bean
(initMethod =
"init"
)
public
JDBCBean jdbc(){
JDBCBean jdbc=
new
JDBCBean();
jdbc.setDriverClassName(driverClassName);
return
jdbc;
}
}
相關文章
1.
Spring中注入List Set Map Properties的配置文件
2.
java中LIST、SET、MAP
3.
Spring配置Map,List
4.
Spring中使用Map、Set、List、數組、屬性集合的注入方法配置文件
5.
c++11模板:容器(map,set,list,vector)中元素類型轉換
6.
Java中List、Set、Map區別
7.
List,Set,Map用法以及區別(轉)
8.
Spring中常用類型的bean配置(Map,List,Set,基本類型)
9.
C++中set map的用法
10.
將List集合中的元素反轉
更多相關文章...
•
在Spring中使用Redis
-
Redis教程
•
Spring中Bean的作用域
-
Spring教程
•
C# 中 foreach 遍歷的用法
•
SpringBoot中properties文件不能自動提示解決方法
相關標籤/搜索
List、Set、Map
配置文件
list&set
map+set
list&map
中元
中轉
中文
文中
SSH配置文件
Spring
Spring教程
SQLite教程
MySQL教程
註冊中心
文件系統
spring cloud
0
分享到微博
分享到微信
分享到QQ
每日一句
每一个你不满意的现在,都有一个你没有努力的曾经。
最新文章
1.
gitlab4.0備份還原
2.
openstack
3.
深入探討OSPF環路問題
4.
代碼倉庫-分支策略
5.
Admin-Framework(八)系統授權介紹
6.
Sketch教程|如何訪問組件視圖?
7.
問問自己,你真的會用防抖和節流麼????
8.
[圖]微軟Office Access應用終於啓用全新圖標 Publisher已在路上
9.
微軟準備淘汰 SHA-1
10.
微軟準備淘汰 SHA-1
本站公眾號
歡迎關注本站公眾號,獲取更多信息
相關文章
1.
Spring中注入List Set Map Properties的配置文件
2.
java中LIST、SET、MAP
3.
Spring配置Map,List
4.
Spring中使用Map、Set、List、數組、屬性集合的注入方法配置文件
5.
c++11模板:容器(map,set,list,vector)中元素類型轉換
6.
Java中List、Set、Map區別
7.
List,Set,Map用法以及區別(轉)
8.
Spring中常用類型的bean配置(Map,List,Set,基本類型)
9.
C++中set map的用法
10.
將List集合中的元素反轉
>>更多相關文章<<