一、Bean的Scope
二、SpringEL和资源调用
SpringEL(Spring Expression Language)是Spring表达式语言,支持在xml和注解中使用表达式,类似于JSP的EL表达式语言。
是一种强大的、简洁的装配Bean的方式,它通过运行时执行的表达式将值装配到Bean的属性或构造器参数中。
1.注入配置文件需使用@PropertySource指定文件地址。
2.若使用@Value注入,则要配置一个PropertySourcesPlaceholderConfigurer的Bean。
三、Bean的初始化和销毁
四、Profile
Profile为在不同环境下使用不用的配置提供了支持(开发环境下的配置和生成环境下的配置肯定是不同的,如,数据库配置)。
1.通过设定Environment的ActiveProfiles来设定当前context需要使用的配置环境,在开发中使用@Profile注解类或者方法,达到在不同情况下选择实例化不同的Bean。(推荐)
2.通过设定jvm的spring.profiles.active参数来设置配置环境。(Servlet2.5及以下)
3.Web项目设置在Servlet的context parameter中。(Servlet3.0及一下)
五、事件(Application Event)
Spring的事件(Application Event)为Bean与Bean之间的消息通信提供了支持。当一个Bean处理完一个任务之后,希望另一个Bean知道并能做相应的处理,这是我们就需要让另一个Bean监听当前Bean所发送的时间。
Spring的事件需要遵循如下流程:
1.自定义事件,继承ApplicationEvent。
2.定义时间监听器,实现ApplicationListener。
3.实现容器发布事件。