spring注解@Configuration,@Value,@Bean实例
来源:互联网 发布:手机网络延迟怎么解决 编辑:程序博客网 时间:2024/05/01 15:53
spring 3.0中增加了@Configuration,@Value,@Bean以下做了一个简单的例子
@Configuration:可以通过Java文件取代xml文件的Bean配置
@Value:读取xxx.properties进Java文件进行键值对的注入
@Bean:@Configuration进行实例化Bean。name:指定bean名字
@Configuration代码如下
package guoguo.spring.config;import guoguo.spring.config.impl.WorkerImpl;import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Configurationpublic class AppConfig {private @Value("#{jdbcProperties.url}") String jdbcUrl;private @Value("#{jdbcProperties.username}") String username;private @Value("#{jdbcProperties.password}") String password;@Bean(name = "worker")public Worker getWorker() {return new WorkerImpl();}//测试键值注入public String getJdbcUrl() {return jdbcUrl;}public String getUsername() {return username;}public String getPassword() {return password;}}
xml文件配置如下
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"><util:properties id="jdbcProperties" location="resources/env/jdbc.properties"></util:properties><context:component-scan base-package="guoguo.spring"/></beans>
测试文件
package guoguo.spring.config;import org.junit.Test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class TestAppConfig {@Testpublic void setUp() throws Exception {ApplicationContext context = new ClassPathXmlApplicationContext(getContext());//设置服务对应业务的配置文件部分//AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);AppConfig appConfig = context.getBean(AppConfig.class);System.out.println("jdbcUrl [" + appConfig.getJdbcUrl() + "]");System.out.println("username [" + appConfig.getUsername() + "]");Worker worker = context.getBean("worker", Worker.class);System.out.println(worker.doWork());}public String[] getContext() {return new String[] {"classpath*:resources/context.xml"};}}
测试结果
jdbcUrl [1234123]username [1231231]this is worker impl
0 0
- spring注解@Configuration,@Value,@Bean实例
- Spring注解:@Configuration和@Bean
- Spring-Configuration-运用注解配置bean
- spring的注解(1): @Configuration,@Bean,@Component,
- 使用@Configuration注解来代替Spring的bean配置
- spring系列之@Configuration注解、@Bean注解以及自动扫描注解@componentScan
- spring bean xml configuration
- spring @Configuration 和 @Bean
- Spring中bean注入初始化方式—通过注解@Configuration @bean
- Spring中bean注入初始化方式—通过注解@Configuration @bean
- Spring中bean注入初始化方式—通过注解@Configuration @bean
- Spring整理系列(11)——@Configuration注解、@Bean注解以及配置自动扫描、bean作用域
- Spring Java Configuration之@Configuration和@Bean
- 获取Spring加载的实例bean/获取注解Beam
- Spring基于注解的方式配置bean的实例
- Spring中@Bean与@Configuration
- spring通过@Configuration @Bean注入Bean
- Spring @Value注解问题
- 你需要看在住房建筑商
- 设计模式之Iterator迭代器
- android2.--App/Notification 以及android.app.Notification$Builder.setProgress问题
- 估计市场对工程机械销售
- 获取硬盘的序列号
- spring注解@Configuration,@Value,@Bean实例
- 待字闺中之此起彼伏分析
- 什么样的角色施工组织者播放
- 事情时要考虑购买的索尼Xperia U附件封面
- mutable
- centos安装时一个很重要的注意问题
- 了解综合状态监测
- 了解更多关于地板荡
- OpenGL Programming Guide- Red Book 例子程序库 -系列- 0