/* * Copyright 2013 Sławomir Śledź <slawomir.sledz@sof-tech.pl>. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package pl.softech.eav.example; import javax.sql.DataSource; import liquibase.integration.spring.SpringLiquibase; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.context.annotation.PropertySource; import org.springframework.context.annotation.PropertySources; import org.springframework.context.support.PropertySourcesPlaceholderConfigurer; import org.springframework.transaction.annotation.EnableTransactionManagement; /** * @author Sławomir Śledź <slawomir.sledz@sof-tech.pl> * @since 1.2 */ @Configuration @Import({ EavConfig.class }) @ComponentScan("pl.softech.eav.example") @EnableTransactionManagement @PropertySources(value = { @PropertySource("classpath:app.properties") }) public class AppConfig { @Bean public SpringLiquibase liquibase(final DataSource ds) { final SpringLiquibase lb = new SpringLiquibase(); lb.setDataSource(ds); lb.setChangeLog("pl/softech/eav/db.changelog.xml"); lb.setDropFirst(true); return lb; } @Bean public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() { return new PropertySourcesPlaceholderConfigurer(); } }