原来项目中实体类有些属性有默认值,我把默认值移到了properties文件中!在不动原代码的情况下.当实体类new时用spring注入需要的默认值!该在spring中怎么配置
解决方案 »
- 请教一个关于struts2中更新外键值的问题
- Flex 上传问题!!!!!!急!!!!!
- Spring求助
- 关于jsp include *.html问题
- jboss+ejb3.0+jpa多数据源问题
- EJB的错太难找了大家帮我看看这个错在哪里
- jsp页面如何把一个bean传到action里(struts)?
- 如何能用js实现在新窗口打开页面 并且是模态的
- Hibernate映射文件中的where="arbitrary sql where condition" 的写法是怎样的
- 我刚开始学习ejb,请教一个关于ejb部署的简单的问题,谢谢!
- 关于jstl的问题
- spring的IOC与对象实例化有何区别?????????
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<!-- 此处是你的properties文件存放的位置 -->
<value>/conf/spring/jdbc.properties</value>
</list>
</property>
</bean> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<!-- 下面的database.driver、database.url这种就是你写在你的properties文件里的key,这样就能将得到的值注入到当前这个类的指定属性了 -->
<property name="driverClassName" value="${database.driver}" />
<property name="url" value="${database.url}" />
<property name="username" value="${database.username}" />
<property name="password" value="${database.password}" />
</bean>
你new出来了,还怎么注入呀???要不你就直接用java.util.Properties类读取加载这个属性文件
然后getProperty(String key) 得到你想要的,set到你new出来的对象里~~
用spring直接注释也行,不过也是用properties文件private String para1/*
* @spring.property value = '具体值'
*/
public void setPara1(String para1){
this.para1 = para1
}
要想有默认值,在类定义时就填写默认值。
这个也不影响spring托管对象的注入。
实体.属性=新建的类.属性
在new 对象的时候,如果这个类的属性有默认值在执行构造方法体之前,就会把它初始化,
而用spring,是在new 了一个对象之后通过set方法,设置的默认值,
如果你要是想不用spring,然后还不想在类中的属性设置默认值,还想在new对象的时候自动设置默认值,那不可能~~
我在一楼就已经回了,你说的那种方法,但是他想要new,而不是用spring生成对象~~
public User(Boolean isSetDefaultValue){
InputStream inputStream = getClass().getClassLoader().getResourceAsStream("user.properties");
并用Properties来装载此流,这样就可以得到属性对应的值;
用反射方式为对象赋值;
Field[] fs = getClass().getDeclaredFields();
for(Field f : fs){
if(f.getModifiers() == 25){//final字段是不能赋值的
continue;
}
f.set(this, props.getProperty(f.getName())); }
}
3、调用:
User user = new User();//构造一个不带值的user对象
User user = new User(true);//构造一个带默认值的user对象4、在Spring框架上使用
Spring有构造方法注入,或者用使用constructor和autodetect自动装配。
这样呀!!LZ的确是在做梦。不改实体代码!!!!Spring-->后期绑定全局静态属性类-->使用静态字段初始化(这就修改了实体代码了)
imasmallbird
sjkof
lyjdamzwf
v05120s
liwenso
qq774097676
blliy117
qiyifi
APOLLO_TS
zhangjihao