zoukankan      html  css  js  c++  java
  • Spring 使用javaconfig配置

    除了使用xml,spring提供javaconfig配置,下面是简单的例子:

    1.声明接口

    /**
     * 
     */
    package com.junge.demo.spring.service;
    
    /**
     * 表演
     * @author Administrator
     *
     */
    public interface IPerface {
    
        void play();
    }

    2.添加实现类

    /**
     * 
     */
    package com.junge.demo.spring.service.impl;
    
    import org.springframework.stereotype.Service;
    
    import com.junge.demo.spring.service.IPerface;
    
    /**
     * 武术表演
     * @author Administrator
     *
     */
    @Service
    public class WushuPerface implements IPerface {
    
        /* (non-Javadoc)
         * @see com.junge.demo.spring.service.IPerface#play()
         */
        @Override
        public void play() {
            System.out.println("武术表演");
    
        }
    
    }

    3.添加javaconfig配置类,和服务接口在同一级

    /**
     * 
     */
    package com.junge.demo.spring.service;
    
    import org.springframework.context.annotation.ComponentScan;
    import org.springframework.context.annotation.Configuration;
    
    /**
     * 自动装配配置类
     * @author Administrator
     *
     */
    @Configuration
    @ComponentScan
    public class ServiceConfig {
    
    }

    4.运行测试:

    /**
     * 
     */
    package com.junge.demo.spring;
    
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.annotation.AnnotationConfigApplicationContext;
    
    import com.junge.demo.spring.service.IPerface;
    import com.junge.demo.spring.service.ServiceConfig;
    
    /**
     * @author Administrator
     *
     */
    public class ServiceConfigApp {
    
        private static ApplicationContext applicationContext;
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            applicationContext = new AnnotationConfigApplicationContext(ServiceConfig.class);
            System.out.println(applicationContext.getBeansOfType(IPerface.class));
    
        }
    
    }

    5.运行结果:

    6.@Configuration注解说明:默认扫描的是当前包以及子包

    如上所示:查看@ComponentScan的参数,有basePackages和basePackageClasses,在同一个java类中可以配置不同的扫描基本包:

    在每一个要扫描的包中添加一个空标记接口,使用basePackageClasses可以把所有的扫描都配置上,使用basePackageClasses比basePackages更友好一点,因为在重构代码时,配置可以自动修改。

  • 相关阅读:
    【转】Android开发实践:自定义带消息循环(Looper)的工作线程
    【转】 解决IllegalStateException: Can not perform this action after onSaveInstanceState
    【转】Fresco之强大之余的痛楚
    【转】Android 防破解技术简介
    改进版本号的精确数据权限定义和实现
    明天是我的生日,写给24岁的自己
    javascrip cookie
    Servlet -- 跳转到页面后的绝对路径与相对路径的问题
    JAVA訪问URL
    跨浏览器resize事件分析
  • 原文地址:https://www.cnblogs.com/junge8618/p/8365397.html
Copyright © 2011-2022 走看看