[Spring] Properties for project configuration

We might have some project specific configuration need to setup. The good approach to do this in Sprint is using 'Proptries'.

 

In resouces/applicationContext.xml:

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context.xsd">


    <context:annotation-config />
    <!-- Load app.properties file for use -->
    <context:property-placeholder location="app.properties" />

    <bean name="customerRepository" class="com.pluralsight.repository.HibernateCustomerRepositoryImpl"></bean>



    <context:component-scan base-package="com.pluralsight" />
</beans>
复制代码

 

In xml, we tell Sprint to looking for a file call 'app.properties', which should located in the same folder of applicationContext.xml.

Inside app.properties file we can define some variables which related to the project:

dbUsername=mysqlusername

 

we can inject those variable into class:

复制代码
public class HibernateCustomerRepositoryImpl implements CustomerRepository {

    @Value("${dbUsername}")
    private String dbUsername;
    
    @Override
    public List<Customer> findAll() {

        system.out.println(dbUsername)
    }
}
复制代码

 

 

****

 

We can also configure the 'properties' by using Java configuration:

in com/pluralsight/AppConfig.java:

复制代码
package com.pluralsight;

import com.pluralsight.repository.CustomerRepository;
import com.pluralsight.repository.HibernateCustomerRepositoryImpl;
import com.pluralsight.service.CustomerService;
import com.pluralsight.service.CustomerServiceImpl;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;

@Configuration
@ComponentScan({"com.pluralsight"})
public class AppConfig {

    @Bean
    public static PropertySourcesPlaceholderConfigurer getPropertySourcesPlaceholderConfigurationn() {
        return new PropertySourcesPlaceholderConfigurer();
    }
}
复制代码

 

posted @   Zhentiw  阅读(243)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2017-09-02 [React] Remove React PropTypes by using Flow Annotations (in CRA)
2016-09-02 [Ramda] Compose and Curry
2015-09-02 [React] React Fundamentals: with-addons - ReactLink
2015-09-02 [JavaScript] Array.prototype.reduce in JavaScript by example
2015-09-02 [CSS] @keyframes
点击右上角即可分享
微信分享提示