Spring 使用javaconfig配置
Posted junge8619
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 使用javaconfig配置的主要内容,如果未能解决你的问题,请参考以下文章