0

テスト目的で、Spring を使用して LDAP サーバーを埋め込む必要があります。次のコードが機能します。

src/main/webapp/WEB-INF/web.xml

[...]
<context-param>
    <param-name>contextClass</param-name>
    <param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value>
</context-param>
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        [...]
        com.example.config.servlet.TestLDAPServerConfiguration
    </param-value>
</context-param>
[...]

src/main/java/com/example/config/servlet/TestLDAPServerConfiguration.java

package com.example.config.servlet;

import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.ImportResource;

@Configuration
@ImportResource({"/WEB-INF/test-ldap-server.xml"})
public class TestLDAPServerConfiguration {
}

src/main/webapp/WEB-INF/test-ldap-server.xml

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:s="http://www.springframework.org/schema/security"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security.xsd">

  <s:ldap-server ldif="classpath:users.ldif" root="dc=nestle,dc=com" port="33389"/>
</beans>

XmlWebApplicationContext の代わりに AnnotationConfigWebApplicationContext を使用する必要があります。ただし、ここでは、test-ldap-server.xml をインポートするだけのクラス TestLDAPServerConfiguration を使用しています。この test-ldap-server.xml は、ldap-server を宣言するだけです。

test-ldap-server.xml ファイルを削除したいと考えています。TestLDAPServerConfiguration クラス内の Java コードで s:ldap-server と同等のことを行うにはどうすればよいですか? そして、これはどこに文書化されていますか?

4

1 に答える 1