This page (revision-7) was last changed on 15-Dec-2014 12:36 by Dieter Käppel

This page was created on 19-Nov-2012 13:14 by Dieter Käppel

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
7 15-Dec-2014 12:36 5 KB Dieter Käppel to previous
6 15-Dec-2014 12:36 4 KB Dieter Käppel to previous | to last
5 12-Mar-2013 12:59 4 KB Dieter Käppel to previous | to last
4 31-Dec-2012 14:54 4 KB Dieter Käppel to previous | to last
3 31-Dec-2012 14:52 2 KB Dieter Käppel to previous | to last
2 31-Dec-2012 14:44 1 KB Dieter Käppel to previous | to last
1 19-Nov-2012 13:14 2 KB Dieter Käppel to last

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 60 added 37 lines
!!!Factory Methods
Eine andere Möglichkeit zur Injection sind Factory Methods. Diese bedienen die standardmäßige Annotation @Autowired, im Unterschied zu Injection Factories. Der Design-Zweck liegt im Generieren spezieller Beans, die zum Beispiel von der Basisbean abgeleitet sein können. Durch eine Factory generierte Beans brauchen auch keine Spring-Annotation besitzen, sie können sogar während der Laufzeit durch einen Bytecode-Generator erzeugt werden.
Ein einfaches Beispiel kann so aussehen:
{{{
@Component
public class AutowireTest {
@Autowired
private InjectBean injectBean;
@Factory
public InjectBean injectBeanFactory() {
return new InjectBean("from factory");
}
@Test
public void test() {
System.out.println(injectBean.getText());
}
}
public class InjectBean {
private String text;
public InjectBean(String text) {
this.text = text;
}
public String getText() {
return text;
}
}
}}}
__Erklärung:__ In diesem Fall ist InjectBean ein einfaches POJO. Die Factory und die Verwendung liegen sogar innerhalb der gleichen Component, natürlich kann die Factory auch durch jede andere Spring-Component implementiert werden.