Spring之set流入时的类型转换
Spring之set注入时的类型转换
<?xml version="1.0" encoding="utf-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"
default-lazy-init="true">
<bean id="url" class="com.huawei.china.Inject" scope="prototype">
<property name="URL">
<value>www.bjameng.com</value>
</property>
</bean>
</beans>
一、注意此处“value”中指定的全是字符串,由Spring容器将此字符串转换成属性所需要的类型,如果转换出错,将抛出相应的异常。
二、Spring类型转换系统对于boolean类型进行了容错处理,除了可以使用“true/false”标准的Java值进行注入,还能使用“yes/no”、“on/off”、“1/0”来代表“真/假”,所以大家在学习或工作中遇到这种类似问题不要觉得是人家配置错了,而是Spring容错做的非常好。
三、在写javaBean的时候,请不要写boolean isBoolean 这样以is开头的属性名,如果写了,他自动生成的setter and getter 方法,在Spring中是注入不进去的。你可写一个boolean bool这样的属性,这样用IDE生成的setter and getter方法,注入的时候就可以注入进去了。
四、Spring也对对象图导航注入也支持。如a.b.c,但前提是a和b不能为空,c才能注入,如果为空就会报空指针异常。
<?xml version="1.0" encoding="utf-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"
default-lazy-init="true">
<bean id="url" class="com.huawei.china.Inject" scope="prototype">
<property name="URL">
<value>www.bjameng.com</value>
</property>
</bean>
</beans>
一、注意此处“value”中指定的全是字符串,由Spring容器将此字符串转换成属性所需要的类型,如果转换出错,将抛出相应的异常。
二、Spring类型转换系统对于boolean类型进行了容错处理,除了可以使用“true/false”标准的Java值进行注入,还能使用“yes/no”、“on/off”、“1/0”来代表“真/假”,所以大家在学习或工作中遇到这种类似问题不要觉得是人家配置错了,而是Spring容错做的非常好。
三、在写javaBean的时候,请不要写boolean isBoolean 这样以is开头的属性名,如果写了,他自动生成的setter and getter 方法,在Spring中是注入不进去的。你可写一个boolean bool这样的属性,这样用IDE生成的setter and getter方法,注入的时候就可以注入进去了。
四、Spring也对对象图导航注入也支持。如a.b.c,但前提是a和b不能为空,c才能注入,如果为空就会报空指针异常。