Spring4-@Configuration的使用

1.创建Maven项目,项目名称springdemo22,如图所示

2.配置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”>
1.0.0
shequ
springdemo13
0.0.1-SNAPSHOT

1.7
UTF-8
UTF-8

codelds
https://code.lds.org/nexus/content/groups/main-repo

junit
junit
4.10

org.springframework
spring-core
4.1.4.RELEASE

org.springframework
spring-context
4.1.4.RELEASE

org.springframework
spring-jdbc
4.1.4.RELEASE

mysql
mysql-connector-java
5.1.34

3.在src/main/java下创建实体Bean Forum,包名(com.mycompany.shequ.bean)如图所示

4.实体Bean Forum的内容如下
package com.mycompany.shequ.bean;

public class Forum {
private int fid;
private String name;
public int getFid() {
return fid;
}
public void setFid(int fid) {
this.fid = fid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

5.在src/main/java下创建接口IForumDao,包名(com.mycompany.shequ.service)如图所示

6.接口IForumDao的内容如下
package com.mycompany.shequ.service;

import com.mycompany.shequ.bean.Forum;

public interface IForumDao {
public Forum getForumById(int fid);
}

7.在src/main/java下创建接口IForumDao的实现类ForumDaoImpl,包名(com.mycompany.shequ.service.impl)如图所示

8.实现类ForumDaoImpl的内容如下
package com.mycompany.shequ.service.impl;

import com.mycompany.shequ.bean.Forum;
import com.mycompany.shequ.service.IForumDao;

public class ForumDaoImpl implements IForumDao {

public Forum getForumById(int fid) {
Forum forum = new Forum();
forum.setFid(fid);
forum.setName(“@Configuration”);
return forum;
}

}

9.在src/main/java下创建配置类AppConfig,包名(com.mycompany.shequ.config)如图所示

10.配置类AppConfig的内容如下
package com.mycompany.shequ.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import com.mycompany.shequ.service.IForumDao;
import com.mycompany.shequ.service.impl.ForumDaoImpl;

@Configuration
public class AppConfig {

@Bean(name=”forumdao”)
public IForumDao forumDao(){
return new ForumDaoImpl();
}
}

11.在src/test/java下创建测试类ForumDaoTest,包名(com.mycompany.shequ.service),如图所示

12.测试类ForumDaoTest的内容如下
package com.mycompany.shequ.service;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

import com.mycompany.shequ.bean.Forum;
import com.mycompany.shequ.config.AppConfig;
import com.mycompany.shequ.service.IForumDao;

public class ForumDaoTest {

/**
* spring 的自动装配Beans,通过@Qualifier装配指定bean
*/
@Test
public void getForumByIdTest(){
ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);

IForumDao forumDao = (IForumDao) context.getBean(“forumdao”);

Forum forum = forumDao.getForumById(1);
System.out.println(forum.getName());
}
}

13.在测试类ForumDaoTest的getForumByIdTest方法上右键运行,输出结果如图所示

:http://www.linuxidc.com/Linux/2017-03/142108.htm