您的位置:首页 > 编程语言 > Java开发

Spring JavaConfig实例

2016-05-27 09:50 465 查看
从Spring 3起,JavaConfig功能已经包含在Spring核心模块,它允许开发者将bean定义和在Spring配置XML文件到Java类中。

但是,仍然允许使用经典的XML方式来定义bean和配置,JavaConfig是另一种替代解决方案。
看来看经典的XML定义和JavaConfig的不同,如下定义在Spring容器中的bean。
Spring XML file - applicationContext.xml :
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> 
<bean id="helloBean" class="com.yiibai.hello.impl.HelloWorldImpl">

</beans>

等效于以下JavaConfig的配置:
package com.yiibai.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.yiibai.hello.HelloWorld;
import com.yiibai.hello.impl.HelloWorldImpl;

@Configuration
public class AppConfig {

@Bean(name="helloBean")
public HelloWorld helloWorld() {
return new HelloWorldImpl();
}

}


Spring JavaConfig Hello World

现在,看到一个完整的Spring JavaConfig例子。


1. 工程目录结构

这个例子的目录结构如下。


3. Spring Bean

一个简单的Bean
package com.yiibai.hello;

public interface HelloWorld {

void printHelloWorld(String msg);

}

package com.yiibai.hello.impl;

import com.yiibai.hello.HelloWorld;

public class HelloWorldImpl implements HelloWorld {

@Override
public void printHelloWorld(String msg) {

System.out.println("Hello : " + msg);
}

}


4. JavaConfig 注解

使用 @Configuration 注释告诉 Spring,这是核心的 Spring 配置文件,并通过 @Bean 定义 bean。
package com.yiibai.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.yiibai.hello.HelloWorld;
import com.yiibai.hello.impl.HelloWorldImpl;

@Configuration
public class AppConfig {

@Bean(name="helloBean")
public HelloWorld helloWorld() {
return new HelloWorldImpl();
}

}


5. 执行结果

使用 AnnotationConfigApplicationContext 加载您的JavaConfig类
package com.yiibai.core;

import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import com.yiibai.config.AppConfig;
import com.yiibai.hello.HelloWorld;

public class App {
public static void main(String[] args) {

ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
HelloWorld obj = (HelloWorld) context.getBean("helloBean");

obj.printHelloWorld("Spring Java Config");

}
}

输出结果
Hello : Spring Java Config
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring spring mvc