Ich habe Spring
Konfiguration in meinem Projekt. In dieser context.xml wird von mir in Java dynamisch neu geschrieben. Meine Frage ist, warum die Beans Namespace URL nicht kommt, nachdem die Datei neu geschrieben wurde?
Meine context.xml Datei vor dem Neuschreiben:
%Vor%
Mein Java-Code zum Umschreiben der context.xml :
Nachdem context.xml neu geschrieben wurde:
In der neu geschriebenen Datei context.xml fehlt der XML-Namespace
Warum fehlt xmlns
beim Umschreiben?
War lange her, als ich mit DOM spielte, aber probiere docFactory1.setNamespaceAware(true)
(es ist standardmäßig false
) oder setAttributeNS("http://www.springframework.org/schema/beans", "xmlns")
.
Btw, um Hilfe zu bekommen, versuchen Sie, Ihr Problem auf das Nötigste zu reduzieren. Ihr Problem hier ist die Verwendung des Java-DOM-Frameworks, es hat nichts mit Spring zu tun. Sie hätten die Frage in 3 Zeilen ohne dieses Geräusch stellen können.
Nur laut nachgedacht, was könnte eine Voraussetzung sein, wo Sie die XML-Datei mit dem obigen Code umschreiben würden.
Wenn Sie Ihren Code betrachten, möchten Sie anscheinend eine Eigenschaft einer Bean aktualisieren. Können Sie nicht einfach die Bean aus dem Kontext holen, aktualisieren Sie ihre Eigenschaft basierend auf Ihrer Geschäftslogik und führen Sie eine Kontextaktualisierung durch! Das sollte es einfach halten und dich vor der komplexen Sache bewahren, die du tust.