spring in action小结3 运行时值注入

装配属性的方法1)使用Environment 相关方法检索。2)解析属性占位符 3) spring表达式语言

1. Environment常用方法

String getProperty(String key);
String getProperty(String key, String defaultValue);
<T> T getProperty(String key, Class<T> targetType);
<T> T getProperty(String key, Class<T> targetType, T defaultValue);

2. 占位符使用方法在配置文件中${ ... } 如果是扫描方式或者自动装配使用@Value注解

如果要使用占位符,需要配置 PropertySourcesPlaceholderConfigurer

@Bean
    public PropertySourcesPlaceholderConfigurer placeholderConfigurer(){
        return new PropertySourcesPlaceholderConfigurer();
    }
时间: 2024-10-23 03:10:30

spring in action小结3 运行时值注入的相关文章

Spring实战(八)bean装配的运行时值注入——属性占位符和SpEL

前面涉及到依赖注入,我们一般哦都是将一个bean引用注入到另一个bean 的属性or构造器参数or Setter参数,即将为一个对象与另一个对象进行关联. bean装配的另一个方面是指将一个值注入到bean的属性or构造器参数中,通常我们可以将值硬编码在配置类中,XML中也是硬编码(写出所有值). 1.若想避免硬编码,让这些值在运行时再确定,Spring提供了两种在运行时求值的方式. 属性占位符(Property placeholder)--Spring支持将属性定义到外部的属性文件中,然后用占

spring in action小结2

1 @Component注解声明的类都会创建为bean,并且bean的id为首字母小写的类名. 2 解决bean自动装配奇异性问题,可以使用@Qualifier("name")限定符注解解决,他所设置的参数是要注入的bean的id. 3 创建bean的限定符,@Qualifier可以和@Component一块使用. @Component @Qualifier("cold") 4 声明自定义限定符,新建interface,然后在interface之前添加@.用于处理多

005运行时值注入

01.属性占位符(Property placeholder) @Configuration @PropertySource("classpath:/com/soundsystem/app.properties") public class ExpressiveConfig { @Autowired Environment env; @Bean public BlankDisc disc(){ return new BlaknDisc(env.getProperty("disc

SPRING IN ACTION 第4版笔记-第三章ADVANCING WIRING-006-给bean运行时注入值(Environment,Property文件)

一. 直观的给bean注入值如下: @Bean public CompactDisc sgtPeppers() { return new BlankDisc( "Sgt. Pepper's Lonely Hearts Club Band", "The Beatles"); } < bean id = "sgtPeppers" class = "soundsystem.BlankDisc" c: _title = &quo

spring in action 学习十一:property placeholder Xml方式实现避免注入外部属性硬代码化

这里用到了placeholder特有的一个语言或者将表达形式:${},spring in action 描述如下: In spring wiring ,placeholder values are property names wrapped with ${...},as an exampl,you can resolve the constructor arguments for a BlankDisc in xml like this : <bean id="sgtPeppers&qu

spring in action学习笔记一:DI(Dependency Injection)依赖注入之CI(Constructor Injection)构造器注入

一:这里先说一下DI(Dependency Injection)依赖注入有种表现形式:一种是CI(Constructor Injection)构造方法注入,另一种是SI(Set Injection) set 注入.这篇随笔讲的是第一种构造方法注入(Constructor Injection). 其实DI(Dependency Injection)依赖注入你不妨反过来读:注入依赖也就是把"依赖"注入到一个对象中去.那么何为"依赖"呢?依赖就是讲一个对象初始化或者将实例

Spring JdbcTemplate操作小结

Spring 提供了JdbcTemplate 来封装数据库jdbc操作细节: 包括: 数据库连接[打开/关闭] ,异常转义 ,SQL执行 ,查询结果的转换 使用模板方式封装 jdbc数据库操作-固定流程的动作,提供丰富callback回调接口功能,方便用户自定义加工细节,更好模块化jdbc操作,简化传统的JDBC操作的复杂和繁琐过程. 1) 使用JdbcTemplate 更新(insert /update /delete) Java代码   int k = jdbcTemplate.update

Spring in Action 4th 学习笔记

约定: 一.@Xxx Class 表示被@Xxx注解的类.同理还有@Xxx注解的字段或方法. 例如:@Bean Method. 二.@Component Class 同时代指 @Controller.@Service.@Repository. All beans in a Spring application context are given an ID. -- 如果不指明,也会给定一个默认的ID:类名,首字母小写.[]上面这句,不适合XML方式,因为XML方式的默认ID是全路径再加上#{n}

Spring 学习 2- IOC原理 控制反转/依赖注入

控制反转/依赖注入 最近,买了本spring入门书:spring In Action .大致浏览了下感觉还不错.就是入门了点.Manning的书还是不错的,我虽然不像哪些只看Manning书的人那样专注于Manning,但怀着崇敬的心情和激情通览了一遍.又一次接受了IOC .DI.AOP等Spring核心概念. 先就IOC和DI谈一点我的看法. IOC(DI):其实这个Spring架构核心的概念没有这么复杂,更不像有些书上描述的那样晦涩.Java程序员都知道:java程序中的每个业务逻辑至少需要