@Value
erwähnt
können Sie nicht
@Value
innerhalbBeanPostProcessor
oderBeanFactoryPostProcessor
Arten
verwenden, aber es funktioniert gut für mich
@Component("emp")
class Employee implements BeanPostProcessor {
@Autowired
public Employee(@Value("pankaj") String name) {
System.out.println(name);
}
@Override
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
return bean;
}
@Override
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
return bean;
}
}
Dies wird
pankaj
Ausdrucken
Was fehlt mir?
Ich habe auch versucht, Ausdruck und es funktioniert auch: In Employee
Klasse über geputtet
@Autowired
public Employee(@Value("#{example.name}") String name) {
System.out.println(name);
}
und Beispiel-Klasse ist wie diese
@Component("example")
public class Example {
public static String name="Abc";
}
Diese Ausdrucken
Abc
I versucht mit Property-Auflösung und es funktioniert auch für mich: propfolder/abc.properties
example.name = pankaj dubey spring.xml
<context:component-scan base-package="spring.tst.beans"/>
<context:property-placeholder location="propfolder/abc.properties"/>
Aktualisiert Employee
Klasse mit folgenden Code
@Autowired
public Employee(@Value("${example.name}") String name) {
System.out.println(name);
}
Hier können wir @Value verwenden, aber wir sollten nicht verwenden ... –