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

  • 相关阅读:
    解决linux下svn update 产生Node remains in conflict的问题
    实现本地svn目录同步时,服务器的相应目录保持自动同步
    linux下搭建SVN
    linux下安装pip与pip安装
    CentOS7下将Python的版本升级为3.7
    Linux基础二:初识linux命令
    泛型数组 + 记录类型 + Json 之间的转换
    TDictionary字典 记录 的赋值。
    TDictionary字典 对象的释放。。。
    基于 Intraweb 和 JQuery 的开发套件
  • 原文地址:https://www.cnblogs.com/junge8618/p/8365397.html
Copyright © 2011-2022 走看看