码迷,mamicode.com
首页 > 编程语言 > 详细

spring学习--易忘知识点(一)

时间:2016-04-24 18:37:09      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:

1、构造器注入:

<bean id="test" class="...">

  <constructor-arg value="13"/>

  <constructor-arg ref="(某个bean的id)">

</bean>

 

2、为了让spring每次请求时都为Bean创建一个新的实例,只需配置bean的scope属性为prototype

<bean id="test" class="..." scope="prototype"/>

ps:默认为singleton

 

3、默认给整个xml的bean都配上init-method和destory-method只需要将<beans>元素的default-init-method和default-destory-method设置上同样的方法

 1 <beans xmlns="http://www.springframework.org/schema/beans"
 2  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3 
 4  xsi:schemaLocation="http://www.springframework.org/schema/beans 
 5  http://www.springframework.org/schema/beans/spring-beans-3.2.xsd"
 6 
 7 default-init-method="methodName" 
 8 
 9 default-destory-method="methodName"
10 
11 >
12 
13 </beans>

4、

<bean id="test" class="...">

  <property name="song" value="str...">

</bean>

给bean的属性设值得时候,spring会调用setSong()方法将song的值设为str...,所以不要忘了实现set方法

5、spring装配集合类

<list>和<set>的区别的是list允许重复值,set不允许重复值,所以只要集合List不含重复值,也是可以放入<set>的

<map>和<props>的区别是map的key和value可以任意类型,而props的key,value必须是String型

6、命名空间p

<property name="song" value="str...">可以用p:song="str..."代替

<property name="song" ref="str...">可以用p:song-ref="str..."代替

7、当我们不能确定属性的值是否为空,可以显式的为该值装配一个null值

<property name="song"><null/></property>

8、使用SpEL表达式装配

<bean id="test" class="...">

  <property name="song" value="#{kenny.song}">

</bean>

kenny为bean的id,song为kenny的属性

它不止可以取得属性,还可以取得方法,甚至一定的变化

<bean id="test" class="...">

  <property name="song" value="#{kenny.selectSong().toUpperCase()}">

</bean>

获得方法返回值,并都转大写

为了防止方法返回值为空,可以将.改为?.

<bean id="test" class="...">

  <property name="song" value="#{kenny.selectSong()?.toUpperCase()}">

</bean>

 

表达式还可以用来操作类,调用作用域的方法和常量(静态)

<bean id="test" class="...">

  <property name="song" value="#{T(java.lang.Math).PI}">

</bean>

或者

<bean id="test" class="...">

  <property name="song" value="#{T(java.lang.Math).random()}">

</bean>

 

SpEL的数值运算

 

可以进行数值运算,+-*/,而一些符号由于和xml文件冲突,需要更换,==用eq,<用lt,<=用le,>用gt,>=用ge

如:

<bean id="test" class="...">

  <property name="isSuccess" value="#{counter.total le 10000}">

</bean>

 

逻辑表达式

and or not或!

条件表达式

可以用?:三目运算

正则表达式

<bean id="test" class="...">

  <property name="email" value="#{admin.email matches ‘[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.com‘}">

</bean>

spring学习--易忘知识点(一)

标签:

原文地址:http://www.cnblogs.com/future-tzxylao/p/5427558.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!