配置文件

Spring中的AOP(七)——基于XML配置文件方式的AOP

蹲街弑〆低调 提交于 2019-12-01 00:19:47
除了前面介绍的基于JDK1.5的注解方式来定义切面,切入点和增强处理外,Spring AOP也允许直接使用XML配置文件来管理它们。在JDK1.5之前,只能使用配置文件的方式来管理, 在Spring2.X后提供了一个新的aop命名空间来定义切面、切入点和增强处理。 相比之下,使用XML配置文件方式有如下优点: 如果没有使用JDK1.5以上版本,只能使用XML配置文件的方式 对早期的Spring用于来说更加习惯,而且这种方式允许使用纯粹的POJO来支持AOP 采用XML配置方式时,我们可以清晰的看到系统中存在哪些切面 同时,XML配置文件的方式也有如下缺点: 不能将切面,切入点和增强处理等封装到一个地方。当我们需要查看切面、切点和增强处理时,必须同时结合Java文件和XML配置文件 XML配置文件方式比@AspectJ方式有更多限制:仅支持“singleton”切面Bean,不能在XML中组合多个命名连接点的声明 除此之外,@AspectJ切面还有一个优点就是能被Spring AOP和AspectJ同时支持,如果有一天我们需要将应用改为AspectJ来实现AOP,使用@AspectJ将非常容易迁移。 在Spring的配置文件中,所有的切面、切点和增强处理都必须定义在<aop:config../>元素内部。<beans../>元素可以包含多个<aop:config../>元素,一个

maven根据不同环境 不同配置打包

与世无争的帅哥 提交于 2019-11-30 11:44:50
1.正确打包 项目有三种环境: 1.本地开发环境(local) 2.开发测试环境(dev) 3.线上生产环境(product) 不同的环境有不同的配置,比如数据库连接什么的....maven打包时默认去resources文件夹下打包这些配置文件,放在WEB-INF/classes下,然后再打成war包,就能用了...现在通过修改pom.xml文件,增加三种配置,让maven打包时选择打包不同文件夹下的配置文件到WEB-INF/classes下,这样就省事儿了.... 如图所示,resources下dev,local,product三个文件夹,分别对应三种环境。 下面是pom.xml主要修改: <!--配置参数--> <profiles> <profile> <id>local</id> <properties> <package.environment>local</package.environment> </properties> <activation> <activeByDefault>true</activeByDefault> </activation> </profile> <profile> <id>product</id> <properties> <package.environment>product</package.environment> <

读取spring applicationContext-common.xml方式

六月ゝ 毕业季﹏ 提交于 2019-11-29 14:35:27
方法一: ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext-common.xml"); ac.getBean("beanName"); 方法二: ApplicationContext ac = new FileSystemXmlApplicationContext("applicationContext-common.xml"); ac.getBean("beanName"); 方法三: 通过加载器 ContextLoaderListener和ContextLoaderServlet(功能相同,实现不同接口。 开发中可根据目标Web容器的实际情况进行选择。 ) 但不同的是,ContextLoaderListener不能在与Servlet 2.2兼容的web容器中使用。根据Servlet 2.4规 范, servlet context listener要在web应用程序的servlet context建立后立即执行,并要能够响应第一个请求 (在servlet context要关闭时也一样):这样一个servlet context listener是初始化 Spring ApplicationContext的理想场所。虽然使用哪个完全取决于你,但是在同等条件下应该首选

Spring的PropertyPlaceholderConfigurer应用

烈酒焚心 提交于 2019-11-29 13:29:26
Spring 利用PropertyPlaceholderConfigurer占位符 1. PropertyPlaceholderConfigurer是个bean工厂后置处理器的实现,也就是BeanFactoryPostProcessor接口的一个实现。PropertyPlaceholderConfigurer可以将上下文(配置文件)中的属性值放在另一个单独的标准java Properties文件中去。在XML文件中用${key}替换指定的properties文件中的值。这样的话,只需要对properties文件进行修改,而不用对xml配置文件进行修改。 2.在Spring中,使用PropertyPlaceholderConfigurer可以在XML配置文件中加入外部属性文件,当然也可以指定外部文件的编码,如: <bean id="propertyConfigurer"class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location"> <value>conf/sqlmap/jdbc.properties</value> </property> <property name="fileEncoding"> <value>UTF-8<

【原创】rabbitmq-env.conf用户手册(翻译)

依然范特西╮ 提交于 2019-11-27 18:31:27
官方原文: http://www.rabbitmq.com/man/rabbitmq-env.conf.5.man.html =============== 我是分割线 ================ 名字 rabbitmq-env.conf — RabbitMQ AMQP server 的默认配置文件 描述 /etc/rabbitmq/rabbitmq-env.conf 中包含了各种设置项,可以用于覆盖在 RabbitMQ 启动脚本中默认设置的相关选项。 该文件由系统中的 shell 进行解释,故其内容应该由一系列 shell 环境变量定义构成。允许使用正常的 shell 语法(因为该文件会通过 source 命令被使能),包括使用 "#" 来进行行注释。 配置的优先级顺序 :[高]启动脚本从环境变量中获取对应的值 > [中]从 /etc/rabbitmq/rabbitmq-env.conf 中获取相应配置 > [低]使用内置的默认值。 例如,对于 RABBITMQ_NODENAME 的设置,首先会从环境变量中进行检查 RABBITMQ_NODENAME 的值,如果其中没有该变量的定义或者其值等于空字符串,则接着从 /etc/rabbitmq/rabbitmq- env.conf 中检查 NODENAME 的值,如果其中没有该变量的定义或者其值等于空字符串