top / index / prev / next / target / source
日記形式でつづる いがぴょんコラム ウェブページです。
数年間のブランク(?)を経て、あらためて Spring Framework に取り組むことになりました。とりあえず私が取り組むのは Spring Frameworkです。結果的には Spring Boot も触る予定ですが、まずはシンプルに Spring Framework を見ていきます。
必要な諸元は以下の通りです。
まずは 本家の Spring Framework の記載に従って、素朴にチュートリアルを進めていきます。
Maven プロジェクトの新規作成。
cd /tmp
mvn archetype:generate -DgroupId=my.spring -DartifactId=MySpringApp -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
Maven 依存関係に Spring Framework を追加。
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.11.RELEASE</version>
</dependency>
まずはチュートリアル通りに。なおコードは コピペせずに手で書いて いく(これは写経とも呼ばれるプログラミング入門の基本所作)
最初に作成するデータ構造は、 アノテーション抜きのシンプルなインタフェースですね。
package hello;
public interface MessageService {
String getMessage();
}
次にこれを利用するクラスです。 @Component
および @Autowired
というアノテーションが利用されます。
package hello;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class MessagePrinter {
final private MessageService service;
@Autowired
public MessagePrinter(MessageService service) {
this.service = service;
}
public void printMessage() {
System.out.println(service.getMessage());
}
}
次はアプリケーションです。 @Configuration
, @Bean
, @ComponentScan
というアノテーションが利用されます。
package hello;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration
@ComponentScan
public class Application {
@Bean
MessageService mockMessageService() {
return new MessageService() {
public String getMessage() {
return "Hello World.";
}
};
}
public static void main(String[] args) {
ApplicationContext context = new AnnotationConfigApplicationContext(Application.class);
MessagePrinter printer = context.getBean(MessagePrinter.class);
printer.printMessage();
}
}
これらは、ありし日の Spring にて XML
に記載していた内容が XML を省略して代わりにコードに記載可能になったやつですね。
また、あらためて確認してみて、Spring 学習には Spring API の Javadoc の確認は非常に有益だと感じました。英語が苦手な方も、Google Chrome の翻訳機能などを活用したら日本語で読むことが可能ですので、こちら Javadoc を都度確認することを おすすめしたいです。
Last modified: $Date: 2017-09-15 $