java spring config_Spring3系列3 -- JavaConfig

Spring3系列3-JavaConfig-1

从Spring3开始,加入了JavaConfig特性,JavaConfig特性允许开发者不必在Spring的xml配置文件中定义bean,可以在Java Class中通过注释配置bean。

当然,你仍然可以用经典的XML方法定义bean,JavaConfig只是另一个替代方案。

一、      环境

spring-framework-3.2.4.RELEASE

jdk1.7.0_11

Maven3.0.5

eclipse-jee-juno-SR2-win32

不必新建项目,仍然沿用之前的项目Spring3-Example(见“Spring3系列1-HelloWord例子”)

二、      编辑pom.xml引入依赖包CGLIB

要想使用JavaConfig特性,必须引入CGLIB包,引入后,才可以在Class配置bean(Class前加注释@Configuration表示是一个Spring配置类)

4.0.0

com.lei.demo

spring3-Example

0.0.1-SNAPSHOT

jar

spring3-Example

http://maven.apache.org

UTF-8

junit

junit

3.8.1

test

org.springframework

spring-core

3.2.4.RELEASE

org.springframework

spring-context

3.2.4.RELEASE

cglib

cglib

2.2.2

三、      编写几个Java Bean如下

接口IAnimal.java

packagecom.lei.demo.java_config;public interfaceIAnimal {public voidmakeSound();

}

Dog.java实现接口IAnimal

packagecom.lei.demo.java_config;public class Dog implementsIAnimal {public voidmakeSound() {

System.out.println("汪、汪、汪------");

}

}

Cat.java实现接口IAnimal

packagecom.lei.demo.java_config;public class Cat implementsIAnimal {public voidmakeSound() {

System.out.println("喵、喵、喵******");

}

}

四、      用JavaConfig特性配置Spring3

看一下xml配置bean和JavaConfig配置bean的不同。

Xml方法,配置定义bean格式类似如下。

http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

JavaConfig方法,通过使用注释@Configuration告诉Spring,这个Class是Spring的核心配置文件,并且通过使用注释@Bean定义bean

packagecom.lei.demo.java_config;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;

@Configurationpublic classAppConfig {

@Bean(name="animal")publicIAnimal getAnimal(){return newDog();

}

}

App.javar如下:

packagecom.lei.demo.java_config;importorg.springframework.context.ApplicationContext;importorg.springframework.context.annotation.AnnotationConfigApplicationContext;public classApp {private staticApplicationContext context;public static voidmain(String[] args) {

context= new AnnotationConfigApplicationContext(AppConfig.class);

IAnimal obj= (IAnimal) context.getBean("animal");

obj.makeSound();

}

}

五、      目录结构

18e537b1c2c5c342830aab6172f11ac4.png

六、      输出结果

运行App.java

508763122d3a374faa9c0cda221d6485.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值