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更友好一点,因为在重构代码时,配置可以自动修改。

  • 相关阅读:
    java实现第二届蓝桥杯四方定理
    java实现第二届蓝桥杯四方定理
    java实现第二届蓝桥杯四方定理
    JPos学习
    Java图片缩略图裁剪水印缩放旋转压缩转格式-Thumbnailator图像处理
    java使用Thumbnailator操作图片
    Python的另一种开发环境--Anaconda中的Spyder
    Java多线程干货系列—(四)volatile关键字
    Java多线程干货系列—(二)synchronized
    Java多线程干货系列—(一)Java多线程基础
  • 原文地址:https://www.cnblogs.com/junge8618/p/8365397.html
Copyright © 2011-2022 走看看