1

Spring3 Web App で beanFactory にアクセスするためのより良い方法を見つけようとしています。現在、システムが使用するすべてのサービスを含む config.xml ファイルをセットアップし、コントローラーに次のようなコード行を追加します。

private static XmlBeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("config.xml"));

各コントローラーで..これを行うためのより良い方法を知っている人はいますか?

4

1 に答える 1

4

Spring MVC を使用している場合は、次のように、リクエストを処理するために web.xml でサーブレットを定義したと思われます。

  <servlet>
    <description></description>
    <display-name>dispatcher</display-name>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>*.html</url-pattern>
  </servlet-mapping>

その場合、web-inf ディレクトリに、dispatcher-servlet.xml のような名前の Spring 構成ファイルが必要です。そこに Bean 定義を入れると、それらが定義され、サーブレットの起動時に使用できるようになります。

編集:

Spring リファレンスのセクション 3.2.2.1 から、ある Bean 構成ファイルを別の Bean 構成ファイルにインポートします。

<beans>

    <import resource="services.xml"/>
    <import resource="resources/messageSource.xml"/>
    <import resource="/resources/themeSource.xml"/>

    <bean id="bean1" class="..."/>
    <bean id="bean2" class="..."/>

</beans>

コントローラーでの自動配線 Bean の例:

@Controller
public class MyController {
  @Autowired
  private MyBeanClass myBeanName;
  ...
}
于 2012-04-19T13:44:25.433 に答える