<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>1.0.0</modelVersion> <groupId>shequ</groupId> <artifactId>springdemo13</artifactId> <version>0.0.1-SNAPSHOT</version> <properties> <java.version>1.7</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> </properties> <repositories> <repository> <id>codelds</id> <url>https://code.lds.org/nexus/content/groups/main-repo</url> </repository> </repositories> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.1.4.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.1.4.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.1.4.RELEASE</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.34</version> </dependency> </dependencies> <build/> </project>
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;
}
}package com.mycompany.shequ.bean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
public class ForumPost {
private int pid;
private String name;
private Forum forum;
public ForumPost() {
super();
}
public ForumPost(Forum forum) {
super();
this.forum = forum;
}
public int getPid() {
return pid;
}
public void setPid(int pid) {
this.pid = pid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Forum getForum() {
return forum;
}
@Autowired
@Qualifier("forum2")
public void setForum(Forum forum) {
this.forum = forum;
}
}package com.mycompany.shequ.service;
import com.mycompany.shequ.bean.Forum;
public interface IForumService {
public Forum getForumById(int fid);
}package com.mycompany.shequ.service;
import com.mycompany.shequ.bean.ForumPost;
public interface IForumPostService {
public ForumPost getForumPostById(int pid);
}package com.mycompany.shequ.service.impl;
import com.mycompany.shequ.bean.Forum;
import com.mycompany.shequ.service.IForumService;
public class ForumServiceImpl implements IForumService {
public Forum getForumById(int fid) {
Forum forum = new Forum();
forum.setFid(fid);
forum.setName("@Configuration");
return forum;
}
}package com.mycompany.shequ.service.impl;
import com.mycompany.shequ.bean.ForumPost;
import com.mycompany.shequ.service.IForumPostService;
public class ForumPostServiceImpl implements IForumPostService {
public ForumPost getForumPostById(int pid) {
ForumPost post = new ForumPost();
post.setPid(pid);
post.setName("@import");
return post;
}
}package com.mycompany.shequ.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.mycompany.shequ.service.IForumService;
import com.mycompany.shequ.service.impl.ForumServiceImpl;
@Configuration
public class ForumServiceImplConfig {
@Bean(name="forumservice")
public IForumService forumDao(){
return new ForumServiceImpl();
}
}package com.mycompany.shequ.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.mycompany.shequ.service.IForumPostService;
import com.mycompany.shequ.service.impl.ForumPostServiceImpl;
@Configuration
public class ForumPostServiceImplConfig {
@Bean(name="forumpostservice")
public IForumPostService forumPostDao(){
return new ForumPostServiceImpl();
}
}package com.mycompany.shequ.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
@Configuration
@Import({ForumServiceImplConfig.class,ForumPostServiceImplConfig.class})
public class AppConfig {
}package com.mycompany.shequ.test;
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.bean.ForumPost;
import com.mycompany.shequ.config.AppConfig;
import com.mycompany.shequ.service.IForumService;
import com.mycompany.shequ.service.IForumPostService;
public class AppTest {
@Test
public void configTest(){
ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
IForumService forumService = (IForumService) context.getBean("forumservice");
Forum forum = forumService.getForumById(1);
System.out.println(forum.getName());
IForumPostService forumPostService = (IForumPostService) context.getBean("forumpostservice");
ForumPost post = forumPostService.getForumPostById(2);
System.out.println(post.getName());
}
}本文出自 “素颜” 博客,请务必保留此出处http://suyanzhu.blog.51cto.com/8050189/1909673
原文地址:http://suyanzhu.blog.51cto.com/8050189/1909673