spring java配置方式@value注解取properties内容为null的一种情况

spring中@Value注解是非常方便的

说下在以java方式配时一点需要注意的地方

上代码看吧

 1 package com.yangxin.springinaction.demo1;
 2
 3 import com.alibaba.druid.pool.DruidDataSource;
 4 import org.springframework.beans.factory.annotation.Value;
 5 import org.springframework.context.annotation.*;
 6 import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
 7 import org.springframework.web.servlet.config.annotation.EnableWebMvc;
 8
 9 import javax.sql.DataSource;
10
11
12 /**
13  * Created by Administrator on 2017/2/27.
14  */
15 @Configuration
16 @ComponentScan(excludeFilters = {@ComponentScan.Filter(type = FilterType.ANNOTATION,value = {EnableWebMvc.class})})
17 @EnableAspectJAutoProxy
18 @PropertySource(value = "classpath:db.properties")
19 public class AppConfig {
20
21 //    @Value("${jdbc.driver}")
22 //    private String driver;
23 //
24 //    @Value("${jdbc.url}")
25 //    private String url;
26 //
27 //    @Value("${jdbc.username}")
28 //    private String username;
29 //
30 //    @Value("${jdbc.password}")
31 //    private String password;
32
33     //21 --- 31 行 这是取不到值得 作为方法入参可以取到
34
35     @Bean
36     public DataSource druidDataSource(@Value("${jdbc.driver}") String driver,
37                                       @Value("${jdbc.url}") String url,
38                                       @Value("${jdbc.username}") String username,
39                                       @Value("${jdbc.password}") String password) {
40         DruidDataSource druidDataSource = new DruidDataSource();
41
42         druidDataSource.setDbType("mysql");
43
44         druidDataSource.setDriverClassName(driver);
45
46         druidDataSource.setUrl(url);
47
48         druidDataSource.setUsername(username);
49         druidDataSource.setPassword(password);
50
51         druidDataSource.setMaxActive(10);
52         druidDataSource.setMinIdle(5);
53
54         try {
55             druidDataSource.setFilters("stat, wall");
56         } catch (Exception e) {
57             e.printStackTrace();
58         }
59
60         return druidDataSource;
61     }
62
63     //这个bean不要忘记配置  如果不配置 上面取得的值为 @Value中的表达式 显然是不符合情况的
64     @Bean
65     public PropertySourcesPlaceholderConfigurer propertyConfigInDev() {
66         return new PropertySourcesPlaceholderConfigurer();
67     }
68
69 }
时间: 2024-12-20 11:54:25

spring java配置方式@value注解取properties内容为null的一种情况的相关文章

.嵌入式jetty启动spring(java配置方式),junit测试用.标准spring 配置(java config) 嵌入式jetty9启动

package com.doctor.embeddedjetty; import java.util.concurrent.TimeUnit; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.servlet.ServletHolder; import org.springframework.web.con

嵌入式jetty启动spring(java配置方式),junit测试用

package com.doctor.embeddedjetty; import java.util.concurrent.TimeUnit; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.servlet.ServletHolder; import org.springframework.web.con

Spring的Java配置方式

Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 1     @Configuration 和 @Bean Spring的Java配置方式是通过 @Configuration 和 @Bean 这两个注解实现的: 1.@Configuration 作用于类上,相当于一个xml配置文件: 2.@Bean 作用于方法上,相当于xml配置中的<bean>: 2 示例 该示例演示了通过Java配置的方式进行配置Spring,并且实现了Spring IOC功能. 2.1 创建工程以

SpringBoot学习(二)--&gt;Spring的Java配置方式

二.Spring的Java配置方式 Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 1.@Configuration 和 @Bean Spring的Java配置方式是通过 @Configuration 和 @Bean 这两个注解实现的: 1.@Configuration 作用于类上,相当于一个xml配置文件: 2.@Bean 作用于方法上,相当于xml配置中的<bean>: 2.示例 该示例演示了通过Java配置的方式进行配置Spring,并且实现了Spring IO

Java配置方式读取外部的资源配置文件

通过@PropertySource可以指定读取的配置文件,通过@Value注解获取值,具体用法: package cn.qlq; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.

java中基本类型与装箱基本类型“==”比较出现的几种情况

java中基本类型与装箱基本类型"=="比较出现的几种情况 java有一个类型系统有两部分组成,包含基本类型(primitive),例如:int.double等,还有引用类型(reference type),例如:String.List.每个基本类型都有一个对应的引用类型,称为装箱基本类型(boxed promitive).装箱基本类型中对应于int.double的是Integer.Double. Java 1.5发行版本中增加了自动装箱和自动拆箱,自动装箱和自动拆箱就是我们所知道的&

Spring中配置和读取多个Properties文件

public class PropertiesFactoryBeanextends PropertiesLoaderSupportimplements FactoryBean, InitializingBean Allows for making a properties file from a classpath location available as Properties instance in a bean factory. Can be used to populate any be

Spring中配置和读取多个Properties文件--转

public class PropertiesFactoryBeanextends PropertiesLoaderSupportimplements FactoryBean, InitializingBean Allows for making a properties file from a classpath location available as Properties instance in a bean factory. Can be used to populate any be

Spring Java配置

Java配置 Java配置是Spring 4.x推荐的配置方式,可以完全替代xml配置:Java配置也是Sping Boot 推荐的配置方式.Java配置是通过@Configuration和@Bean来实现的.@Configuration 声明当前类是一个配置类,相当于一个Spring配置的xml文件.@Bean 注解在方法上,声明当前方法的返回值为一个Bean.使用原则:全局配置使用Java配置(如数据库相关配置.MVC相关配置),业务Bean的配置使用注解配置(@Service.@Compo