1、利用MAVEN配置环境
直接在pom.xml加入spring依赖组件用mvn命令更新即可:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.2.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.2.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.2.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.2.5.RELEASE</version>
</dependency>
2、bean类:youkai.java
用于标识spring组件的标注,@Component
用于自动注入的标注,@Autowire
package gensoku;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class youkai
{
private String name;
public youkai()
{
name = "unknown youkai";
}
public youkai(String n)
{
name = n;
System.out.println("Another youkai " + name + " is born!");
}
@Autowired
public void eat(food x)
{
System.out.println(name + " eats " + x.getName());
}
}
@Component
class food
{
private String name;
public food()
{
name = "unknown food";
}
public food(String n)
{
this.name = n;
}
public String getName()
{
return name;
}
}
3、配置类:config.java
用于说明标识配置类的标注,@Configuration
用于自动扫描组件、装配的标注,@ComponentScan
package gensoku;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration
@ComponentScan
public class config
{
}
4、测试代码:hellotest.java
测试中引入上下文的标注,@RunWith()
测试中声明spring配置类的标注,@ContextConfiguration()
package gensoku;
import static org.junit.Assert.assertNotNull;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = config.class)
public class hellotest
{
@Before
public void Before()
{
System.out.println("---before---");
}
@Autowired
private youkai rumia;
@Autowired
private food apple;
@Test
public void testing()
{
System.out.println("---testing---");
assertNotNull(rumia);
assertNotNull(apple);
rumia.eat(apple);
}
@After
public void After()
{
System.out.println("---after---");
}
}