Java配置

  • Spring4推荐使用java配置实现IOC
  • Spring boot也推荐采用java配置实现IOC
  • 在实际项目中,一般采用注解配置业务bean,全局配置使用Java配置。

Java配置使用的注解

  • @Configuration:声明当前类为配置类,配置类等效于spring配置xml文件。
  • @Bean:声明在方法上,方法返回值为Bean。

示例代码

特点:dao和service层不再使用注解

dao的代码

  1. package com.etc.dao;
  2.  
  3. import org.springframework.stereotype.Repository;
  4.  
  5. public class EntityDao {
  6.  
  7. public String getData(){
  8. return "get data from database";
  9. }
  10. }

  

service的代码

  1. package com.etc.service;
  2.  
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.stereotype.Service;
  5.  
  6. import com.etc.dao.EntityDao;
  7.  
  8. public class EntityService {
  9.  
  10. private EntityDao entityDao;
  11.  
  12. public String getData(){
  13. return entityDao.getData();
  14. }
  15.  
  16. }

 

Java配置类的代码

  1. package com.etc.config;
  2.  
  3. import org.springframework.context.annotation.Bean;
  4. import org.springframework.context.annotation.Configuration;
  5.  
  6. import com.etc.dao.EntityDao;
  7. import com.etc.service.EntityService;
  8.  
  9. /** 声明当前类是一个配置类 ,在该类中定义bean*/
  10. @Configuration
  11. public class JavaConfig {
  12.  
  13. /**获取dao的bean*/
  14. @Bean
  15. public EntityDao entityDao(){
  16. return new EntityDao();
  17. }
  18.  
  19. /**获取service的bean*/
  20. // @Bean
  21. // public EntityService entityService(){
  22. // EntityService entityService=new EntityService();
  23. // entityService.setEntityDao(entityDao());
  24. // return entityService;
  25. // }
  26.  
  27. /**获取serveice的bean时,通过方法参数注入bean*/
  28. @Bean
  29. public EntityService entityService(EntityDao entityDao){
  30. EntityService entityService=new EntityService();
  31. entityService.setEntityDao(entityDao);
  32. return entityService;
  33. }
  34.  
  35. }

  

测试类代码

  1. package com.etc.test;
  2.  
  3. import org.junit.Test;
  4. import org.springframework.context.annotation.AnnotationConfigApplicationContext;
  5.  
  6. import com.etc.config.DiConfig;
  7. import com.etc.config.JavaConfig;
  8. import com.etc.service.EntityService;
  9.  
  10. public class TestClass {
  11.  
  12. /**测试使用注解实现IOC*/
  13. public void test1() {
  14. AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(
  15. DiConfig.class);
  16. EntityService es = context.getBean(EntityService.class);
  17. System.out.println(es.getData());
  18. context.close();
  19. }
  20.  
  21. /**测试使用Java配置实现IOC*/
  22. @Test
  23. public void test2(){
  24. AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(
  25. JavaConfig.class);
  26. EntityService es = context.getBean(EntityService.class);
  27. System.out.println(es.getData());
  28. }
  29.  
  30. }

  

测试结果

  1. get data from database

  

Spring-02 Java配置实现IOC的更多相关文章

  1. SpringBoot学习(二)-->Spring的Java配置方式

    二.Spring的Java配置方式 Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 1.@Configuration 和 @Bean Spring的Java配置方式是通过 @ ...

  2. Spring 的java 配置方式

    Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 1.1@Configuration 和 @Bean Spring的Java配置方式是通过 @Configuration 和 @ ...

  3. Spring的Java配置方式—@Configuration和@Bean实现Java配置

    Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 1.@Configuration 和 @BeanSpring的Java配置方式是通过 @Configuration 和 @Be ...

  4. Spring的Java配置方式

    Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 1     @Configuration 和 @Bean Spring的Java配置方式是通过 @Configuration ...

  5. SPRING SECURITY JAVA配置:Web Security

    在前一篇,我已经介绍了Spring Security Java配置,也概括的介绍了一下这个项目方方面面.在这篇文章中,我们来看一看一个简单的基于web security配置的例子.之后我们再来作更多的 ...

  6. spring的Java配置入门(Spring Boot学习笔记之一)

    spring的Java配置 1.创建maven项目 使用idea创建maven项目,这里顺便提一下,idea真的比eclipse好用,早点熟悉吧.然后就是maven是java项目管理最主流的工具,自己 ...

  7. SpringBoot学习(二)——Spring的Java配置方式

    Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 一.@Configuration 和 @Bean Spring的Java配置方式是通过@Configuration和@Bean ...

  8. SpringBoot学习(三)-->Spring的Java配置方式之读取外部的资源配置文件并配置数据库连接池

    三.读取外部的资源配置文件并配置数据库连接池 1.读取外部的资源配置文件 通过@PropertySource可以指定读取的配置文件,通过@Value注解获取值,具体用法: @Configuration ...

  9. spring-security-4 (5)spring security Java配置实现自定义表单认证与授权

    前面三篇讲解了spring security的搭建以及简单的表单认证与授权原理.本篇将实现我们自定义的表单登录与认证.  本篇不会再讲项目的搭建过程,因为跟第二节的搭建如出一辙.本篇也不会将项目中所有 ...

随机推荐

  1. API接口文档的撰写

    接口文档: 要写:接口简介.请求参数.返回结果.注意事项. 下面以“喜马拉雅的 ‘圈子’ ”为例子: 接口一 (1)接口简介 http://ipservice.mogujie.com/ipservic ...

  2. HDU - 2828 网络流

    题目大意 有n个灯,m个开关,由于线路乱接导致可能有多个开关对应一个灯(并联),有的灯在开关开的时候亮 有的灯在开关关的时候亮,[每个开关最多对应两盏灯],试找出一种开关的ON,OFF状态,使得所有灯 ...

  3. Java的四大基础特性

    Java的四大基础特性 一.抽象 父类为子类提供一些属性和行为,子类根据业务需求实现具体的行为. 抽象类使用abstract进行修饰,子类要实现所有的父类抽象方法否则子类也是抽象类. 二.封装 把对象 ...

  4. 前端开发常用cmd命令

    windows打开命令行 开始->运行->键入cmd 也可通过附件查找到命令提示符,右键属性为其设置快捷键 快捷键 更改路径 d:        // 切换到d盘 cd  <fold ...

  5. Jquery | 基础 | jQuery表单对象属性过滤选择器

    <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>使用jQuery表单对象属性 ...

  6. the little schemer 笔记(10)

    第十章 What Is  the Value of All of This? entry条目 是由list表组成的 pair 对,pair 对的第一个list表是集合 set.另外,两个list表的长 ...

  7. 浅谈web前端性能优化

    前端性能优化: 一.尽可能减少前端http请求. 1.合并优化脚本文件和css文件. 2.同种类型的背景图片尽量放在一起,用css控制显示. 二.使用浏览器缓存. 如果能强制浏览器缓存在本地,将会降低 ...

  8. nth Permutation LightOJ - 1060

    nth Permutation LightOJ - 1060 题意:给定一个小写字母组成的字符串,对其中所有字母进行排列(排列组合的排列),将所有生成的排列按字典序排序,求排序后第n个排列. 方法:按 ...

  9. Monitor CodeForces - 846D

    题目 题意:有一个n*m的显示屏,有q个坏点先后出现,已知第i个坏点位置为(xi,yi),在ti时间出现.显示屏上出现一个k*k的矩阵全都是坏点时显示屏就是坏的.输出显示屏坏的时间,如果不会坏就输出- ...

  10. RHEL 6.5---SVN服务实现过程

    主机名 IP地址  master 192.168.30.130 slave 192.168.30.131 安装 [root@master ~]# yum install -y subversion h ...