戴着假发的程序员出品
springIOC注解-Helloword
spring应用手册(第二部分)
[1]创建maven项目,添加依赖:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.3.RELEASE</version>
</dependency>
[2]准备两个DAO接口和实现类:
接口:
/**
* @author 戴着假发的程序员
*
* @description
*/
public interface IAutorDAO {
public String get();
}
/**
* @author 戴着假发的程序员
*
* @description
*/
public interface IArticleDAO {
public int save(String title);
}
实现类:
/**
* @author 戴着假发的程序员
*
* @description
*/
public class ArticleDAO implements IArticleDAO {
@Override
public int save(String title) {
System.out.println("ArticleDAO-save->保存文章:"+title);
return 1;
}
}
/**
* @author 戴着假发的程序员
*
* @description
*/
public class AuthorDAO implements IAutorDAO {
@Override
public String get() {
return "戴着假发的程序员";
}
}
[3]准备ArticleService
/**
* @author 戴着假发的程序员
*
* @description
*/
public class ArticleService {
private IAutorDAO autorDAO;
private IArticleDAO articleDAO;
public void setAutorDAO(IAutorDAO autorDAO) {
this.autorDAO = autorDAO;
}
public void setArticleDAO(IArticleDAO articleDAO) {
this.articleDAO = articleDAO;
}
public int save(String title){
String author = autorDAO.get();
System.out.println("ArticleService-save:");
System.out.println("author:"+author);
return articleDAO.save(title);
};
}
[4]添加一个配置类,并且在配置类中使用@Bean的方式配置上面的是三个类:
/**
* @author 戴着假发的程序员
*
* @description
*/
@Configuration
public class AppConfig {
//配置 ArticleDAO对象
@Bean
public IArticleDAO articleDAO(){
return new ArticleDAO();
}
//配置 AuthorDAO
@Bean
public IAutorDAO authorDAO(){
return new AuthorDAO();
}
//配置ArticleService对象
@Bean
public ArticleService articleService(){
ArticleService articleService = new ArticleService();
//注入对应的属性
articleService.setArticleDAO(articleDAO());
articleService.setAutorDAO(authorDAO());
return articleService;
}
}
[5]测试:
@Test
public void testAnnotation(){
ApplicationContext ac =
new AnnotationConfigApplicationContext(AppConfig.class);
ArticleService bean = ac.getBean(ArticleService.class);
bean.save("spring应用手册");
}