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

  • 相关阅读:
    [spring]AOP(切面)编程
    [spring]基于注解的spring配置
    [redis]redis五种数据类型和应用场景
    [redis]redis实现分页的方法
    [zookeeper]ZooInspector的使用
    [log4j]SLF4J+log4j的使用
    [zookeeper]依赖jar的问题
    导出word功能,用html代码在word中插入分页符
    jq实现千分位的转换
    oracle 创建表空间及oracle 11g表空间之最大最小
  • 原文地址:https://www.cnblogs.com/junge8618/p/8365397.html
Copyright © 2011-2022 走看看