Inject Annotation



  • Wie funktioniert das mit der Injection. Muss das dann noch mit einem Transpiler in normalen Code umgewandelt werden ? Denn man spart sich ja selber eine Menge Code . Hier mal ein Beispiel

    public class MyPart {
    
        @Inject private Logger logger; //hier man gibt nur die Annotation an
    
        // inject class for database access
        @Inject private DatabaseAccessClass dao;
    
        @Inject
        public void createControls(Composite parent) {
            logger.info("UI will start to build");
            Label label = new Label(parent, SWT.NONE);
            label.setText("Eclipse 4");
            Text text = new Text(parent, SWT.NONE);
            text.setText(dao.getNumber());
        }
    
    }
    


  • ich zitiere hier mal aus dem Spring framework

    @Autowired will tell Spring to search for a Spring bean which implements the required interface and place it automatically into the setter.

    automatisch wird also das in meine Klasse injiziert. Ok. Welchen Prozess durchlaeuft das.

    - .java datei wird neu erstellt.

    oder

    - die .class datei wird so erstellt als ob ich das selbst so programmiert haette

    (Immer diese magische Frameworks )



  • Ich mein Spring sind ja nur mehrere jar files und Spring und Eclipse kennen sich ja nicht. Nur die Annotation weist ja auf Spring hin. Jetzt muss Spring das gesamt file parsen und die passende Klasse suchen und das dort injecten. Oder wie geht das hinter den Kulissen.