Nội dung chính
Spring Hello World Annotation Example
Những công nghệ được sử dụng trong ví dụ
- Spring 4.3.6.RELEASE
- Maven 3
- JDK 1.7
- Eclipse KEPLER SR2
Cấu trúc của project
Bước 1: Thiết lập Spring dependency trong Maven Pom.xml
Sử dụng Maven để quản lý project, tôi sẽ khai báo tất cả các dependency cần sử dụng thông quan Maven pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>vn.kienthuclaptrinh</groupId> <artifactId>SpringHelloWorldAnnotation</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>SpringHelloWorldAnnotation</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.3.6.RELEASE</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.3.6.RELEASE</version> </dependency> </dependencies> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.2</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> </plugins> </pluginManagement> </build> </project>
Trong ví dụ này chỉ cần sử dụng dependency spring-core và spring-context, trong đó spring-context cung cấp các Annotation.
Bước 2: Tạo 1 POJO class
package vn.kienthuclaptrinh.spring.domain; public interface HelloWorld { public void sayHello(String name); }
package vn.kienthuclaptrinh.spring.domain; public class HelloWorldImpl implements HelloWorld { @Override public void sayHello(String name) { System.out.println("Hello + " + name); } }
Bước 3: Tạo lớp Spring Configuration
Lớp Spring configuration được sử dụng để định nghĩa các bean cần thiết dùng cho ứng dụng. @Configuration khai báo một lớp là lớp Spring Configuration. @Bean được sử dụng để định nghĩa bean và được quản lý bởi Spring container.
@Description là một annotation mới được đưa vào Spring 4, nó được dùng để mô tả bean.
package vn.kienthuclaptrinh.spring.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Description; import vn.kienthuclaptrinh.spring.domain.HelloWorld; import vn.kienthuclaptrinh.spring.domain.HelloWorldImpl; @Configuration public class HelloWorldConfig { @Bean(name = "helloWorldBean") @Description("Dinh nghia bean annotation") public HelloWorld helloWorld() { return new HelloWorldImpl(); } }
Bước 4: Tạo hàm main để run App
package vn.kienthuclaptrinh.spring; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.support.AbstractApplicationContext; import vn.kienthuclaptrinh.spring.config.HelloWorldConfig; import vn.kienthuclaptrinh.spring.domain.HelloWorld; public class MainApp { public static void main(String[] args) { AbstractApplicationContext context = new AnnotationConfigApplicationContext( HelloWorldConfig.class); HelloWorld bean = (HelloWorld) context.getBean("helloWorldBean"); bean.sayHello("Spring"); context.close(); } }
Output:
Hello + Spring
Dowload Source Code