该在spring中怎么配置
26 个解决方案
#1
举个例子,比如你要配置的是数据库
<beans>
<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>
#2
你说的是让spring去创建bean!但我现在的代码中都是new出来的!
#3
应该是有办法把那些设置的值读出来的
#4
你new出来了,还怎么注入呀???
要不你就直接用java.util.Properties类读取加载这个属性文件
然后getProperty(String key) 得到你想要的,set到你new出来的对象里~~
#5
new 出来的对象不被Spring接管的吧,就更别提注入了,LS,LZ说要默认值,你这样还是需要手动赋值俄,只不过把value 放到了properties文件...呵呵
#6
坚持5楼....
用spring直接注释也行,不过也是用properties文件
private String para1
/*
* @spring.property value = '具体值'
*/
public void setPara1(String para1){
this.para1 = para1
}
#7
new 出来的对象不能被注入。
要想有默认值,在类定义时就填写默认值。
这个也不影响spring托管对象的注入。
要想有默认值,在类定义时就填写默认值。
这个也不影响spring托管对象的注入。
#8
读出来不是问题!关键是怎么在new 对象时把默认值给赋上
#9
哪样改的代码量太大不取足!
#10
算说点正题上!我现在的作法是新建了一个类!让spring去创建这个类!在属性默认值有变动的实体中在无参的构造器中完成赋值操作
实体.属性=新建的类.属性
#11
在new 对象的时候,如果这个类的属性有默认值在执行构造方法体之前,就会把它初始化,
而用spring,是在new 了一个对象之后通过set方法,设置的默认值,
如果你要是想不用spring,然后还不想在类中的属性设置默认值,还想在new对象的时候自动设置默认值,那不可能~~
#12
你作不出来并不代表不可能!
#13
呵呵,这话说的怎么向赌着气似的呢???
除了这两种方法,想不到其他的可能,
那你就等吧,要是能有其他的方法,我也学习了!!
#14
楼主既然是new出来的 就和spring没有关系了
#15
做梦!
#16
倒!
#17
等我作出来就来结此贴!
#18
不明白你的意思!
你的意思是不是的new 一个对象的时候,给他的属性赋默认值?
你的意思是不是的new 一个对象的时候,给他的属性赋默认值?
#19
学习了
#20
那完了,这帖子就得等几个月后版主结贴了`~~~~~
#21
spring有这样的功能。但是怎么用早就忘记了。
使用的是${KEY}或是{key}。使用的是properties中的key
使用的是${KEY}或是{key}。使用的是properties中的key
#22
我在一楼就已经回了,你说的那种方法,但是他想要 new,而不是用spring生成对象~~
#23
给LZ一个思路:
1、假设你的类是叫User,同时在classpath下有一个user.properties文件,且User类中的属性与user.properties属性对应。
2、在类中做一个带是否设置默认值的构造方法:
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自动装配。
1、假设你的类是叫User,同时在classpath下有一个user.properties文件,且User类中的属性与user.properties属性对应。
2、在类中做一个带是否设置默认值的构造方法:
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自动装配。
#24
这样呀!!LZ的确是在做梦。不改实体代码!!!!
Spring-->后期绑定全局静态属性类-->使用静态字段初始化(这就修改了实体代码了)
#25
结贴吧!免得大家失望!项目接近尾声了!等完了再试验吧!
#26
没有答案!平分吧(对不住班班了)!得分的人:
imasmallbird
sjkof
lyjdamzwf
v05120s
liwenso
qq774097676
blliy117
qiyifi
APOLLO_TS
zhangjihao
imasmallbird
sjkof
lyjdamzwf
v05120s
liwenso
qq774097676
blliy117
qiyifi
APOLLO_TS
zhangjihao
#1
举个例子,比如你要配置的是数据库
<beans>
<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>
#2
你说的是让spring去创建bean!但我现在的代码中都是new出来的!
#3
应该是有办法把那些设置的值读出来的
#4
你new出来了,还怎么注入呀???
要不你就直接用java.util.Properties类读取加载这个属性文件
然后getProperty(String key) 得到你想要的,set到你new出来的对象里~~
#5
new 出来的对象不被Spring接管的吧,就更别提注入了,LS,LZ说要默认值,你这样还是需要手动赋值俄,只不过把value 放到了properties文件...呵呵
#6
坚持5楼....
用spring直接注释也行,不过也是用properties文件
private String para1
/*
* @spring.property value = '具体值'
*/
public void setPara1(String para1){
this.para1 = para1
}
#7
new 出来的对象不能被注入。
要想有默认值,在类定义时就填写默认值。
这个也不影响spring托管对象的注入。
要想有默认值,在类定义时就填写默认值。
这个也不影响spring托管对象的注入。
#8
读出来不是问题!关键是怎么在new 对象时把默认值给赋上
#9
哪样改的代码量太大不取足!
#10
算说点正题上!我现在的作法是新建了一个类!让spring去创建这个类!在属性默认值有变动的实体中在无参的构造器中完成赋值操作
实体.属性=新建的类.属性
#11
在new 对象的时候,如果这个类的属性有默认值在执行构造方法体之前,就会把它初始化,
而用spring,是在new 了一个对象之后通过set方法,设置的默认值,
如果你要是想不用spring,然后还不想在类中的属性设置默认值,还想在new对象的时候自动设置默认值,那不可能~~
#12
你作不出来并不代表不可能!
#13
呵呵,这话说的怎么向赌着气似的呢???
除了这两种方法,想不到其他的可能,
那你就等吧,要是能有其他的方法,我也学习了!!
#14
楼主既然是new出来的 就和spring没有关系了
#15
做梦!
#16
倒!
#17
等我作出来就来结此贴!
#18
不明白你的意思!
你的意思是不是的new 一个对象的时候,给他的属性赋默认值?
你的意思是不是的new 一个对象的时候,给他的属性赋默认值?
#19
学习了
#20
那完了,这帖子就得等几个月后版主结贴了`~~~~~
#21
spring有这样的功能。但是怎么用早就忘记了。
使用的是${KEY}或是{key}。使用的是properties中的key
使用的是${KEY}或是{key}。使用的是properties中的key
#22
我在一楼就已经回了,你说的那种方法,但是他想要 new,而不是用spring生成对象~~
#23
给LZ一个思路:
1、假设你的类是叫User,同时在classpath下有一个user.properties文件,且User类中的属性与user.properties属性对应。
2、在类中做一个带是否设置默认值的构造方法:
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自动装配。
1、假设你的类是叫User,同时在classpath下有一个user.properties文件,且User类中的属性与user.properties属性对应。
2、在类中做一个带是否设置默认值的构造方法:
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自动装配。
#24
这样呀!!LZ的确是在做梦。不改实体代码!!!!
Spring-->后期绑定全局静态属性类-->使用静态字段初始化(这就修改了实体代码了)
#25
结贴吧!免得大家失望!项目接近尾声了!等完了再试验吧!
#26
没有答案!平分吧(对不住班班了)!得分的人:
imasmallbird
sjkof
lyjdamzwf
v05120s
liwenso
qq774097676
blliy117
qiyifi
APOLLO_TS
zhangjihao
imasmallbird
sjkof
lyjdamzwf
v05120s
liwenso
qq774097676
blliy117
qiyifi
APOLLO_TS
zhangjihao