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

  • 相关阅读:
    JavascriptCore中扩展自定义函数
    Qt for Symbian应用的开发转载
    Qt Symbian 开发环境安装转载
    qt屏幕抓图
    为JavascriptCore添加自定义对象
    Tesseract OCR开源项目转载
    Joomla, Wordpress, Drupal 全面详细Pk比较转载
    Drupal,Joomla,Wordpress在内置应用功能方面的区别和比较转载
    Docker:第五章:基于centos7的docker安装配置部署教程以及基于docker Tomcat镜像使用的项目部署教程
    【JavaP6大纲】Redis篇:redis集群工作原理,协议,分布式寻址算法
  • 原文地址:https://www.cnblogs.com/junge8618/p/8365397.html
Copyright © 2011-2022 走看看