Springを使ってみるメモ
簡単なサンプルを動かそうとするだけで結構はまったのでメモ。
前提とか事前準備:
- Ubuntu 10.04
- Eclipse 3.5 - aptで入れたやつ
- Tomcat 6 - http://tomcat.apache.orgからダウンロード(aptで入れると/usr/share/tomcat6と/var/lib/tomcat6でdirectoryが分割されていて、Eclipse WTPが認識しないので)
- spring-framework-2.5.6.SEC01-with-dependencies - http://www.springsource.com/download/community からダウンロードしてどっかに展開
手順:
- Help -> Install New Software
- Web, XML, and Java EE DevelopmentのInstall
- Web Tool Platform(WTP)のInstall
- Add http://download.eclipse.org/webtools/updates の後、それを選択
- Project provided components, WTP3.1.2を選択しNext
- AgreeしてFinish
- Spring IDEのInstall
- Add http://springide.org/updatesite/ の後、それを選択
- CoreとExtensions(どちらもSTS以外)を選択しNext
- AgreeしてFinish
- spring-framework-2.5.6.SEC01-with-dependenciesをプロジェクト化
- Serverの追加
- "New -> Other -> Server" から適当なもの(今回はTomcat6)を
- SpringSource dm Server とかも使える?
- 新規プロジェクト(非Webアプリの場合)
- "New -> Project -> Spring Project"
- libとか適当にディレクトリを作って、spring-frameworkプロジェクトからspring.jar, commons-logging.jarをコピって置く. そして "Build Path -> Add JARs" とかで追加しておく
- CLASSPATHの通ったところに "New -> Other -> Spring Bean Configuration File" を追加して、必要に応じて編集
- Beanを取り出すコードはこんな感じ
import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.xml.XmlBeanFactory; import org.springframework.core.io.*; : Resource res = new ClassPathResource("applicationContext.xml"); BeanFactory factory = new XmlBeanFactory(res); User komamitsu = (User)factory.getBean("komamitsu");
- 新規プロジェクト(Webアプリの場合)
<context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
-
- ServletからBeanを取り出す場合は以下のような感じで
WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(this.getServletContext()); User komamitsu = (User)wac.getBean("komamitsu");