spring应用手册-IOC(注解实现)-(1)-Helloworld

本文通过一个实例展示了如何在Spring应用中使用IOC注解进行依赖注入。首先创建了一个Maven项目并添加了Spring-context依赖,接着定义了两个DAO接口及其实现类,然后创建了一个ArticleService类,通过setter方法注入DAO。最后,通过配置类使用@Bean注解配置了这三个类,并进行了测试,成功调用了save方法。
摘要由CSDN通过智能技术生成

戴着假发的程序员出品

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应用手册");
}

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

戴着假发的程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值