spring学习 十六 spring加载属性文件

第一步:创建一个properties文件,以数据库链接作为实例

db.properties

jdbc.url=jdbc:mysql://192.168.153.128:3306/mybaties?characterEncoding=utf-8
jdbc.driver=com.mysql.jdbc.Driver
jdbc.username=com.mysql.jdbc.Driver
jdbc.password=123456

第二步在spring配置文件加入context的约束,并使用<context:property-placeholder/>标签加载配置文件,多个配置文件用逗号隔开

 <context:property-placeholder location="classpath:applicationContext.xml"/>

第三步把db.properties文件中的内容读入到 封装数据的类的属性中

    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" >
               <property name="driverClassName" value="${jdbc.driver}"></property>
               <property name="url" value="${jdbc.url}"></property>
               <property name="username" value="${jdbc.username}"></property>
               <property name="password" value="${jdbc.password}"></property>
       </bean>

此时要注意一个问题就是在配置mybatis扫描mapper文件时,需要注意,要不使用MapperScannerConfigurer类的sqlSessionFactory属性,使用sqlSessionFactoryBeanName属性,因为SqlSessionFactory因为这时不会立即初始化sqlSessionFactory,传入的只是名字,非bean, 所以不会引发提前初始化问题。但是我使用sqlSessionFactoryBeanName直接报错了,原因就是加载配置文件比较玩,SqlSessionFactory中的好多属性还没有被注入

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
            <property name="basePackage" value="com.spring.mapper" ></property>
            <!-- <property name="sqlSessionFactory" ref="factory"></property> -->
            <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>

  </bean>

在被Spring管理的类中的属性,可以通过@Value(“${key}”)取出properties文件中的内容来对被spring管理的类的属性赋值

(1) 添加注解扫描

<context:component-scan base-package="com.bjsxt.service.impl"></context:component-scan>
 

(2)在类中添加   key 和变量名可以不相同,变量类型任意,只要保证 key 对应的 value 能转换成这个类型就可以.

@Value("${my.demo}")
private String test;

原文地址:https://www.cnblogs.com/cplinux/p/9745071.html

时间: 2024-10-12 23:53:05

spring学习 十六 spring加载属性文件的相关文章

Spring学习(十九)----- Spring与WEB容器整合

首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关.即不会因为 filter 写在 listener 的前面而会先加载 filter.最终得出的结论是:listener -> filter -> servlet 同时还存在着这样一种配置节:context-param,它用于向 ServletContext 提供键值对,即应用程序上下文信息.我们的 listener, filter 等在初始化时会用到这些上下文中的信息,那么 context-param 配置节是不是应该写在

Java动态加载属性文件.properties

问题: 当我们使用如下语句加载.properties时: ClassLoader classLoader = this.getClass().getClassLoader(); Properties prop = new Properties(); prop.load(classLoader.getResourceAsStream("/Application.properties")); 会发现修改了.properties后,即使重新执行,读入的仍为修改前的参数.此问题的原因在于Cla

Spring Boot 2 启动时加载properties文件

每个项目从开发到测试再到上线所需要的各种环境是不同的,这就需要维护相应的配置文件,比如properties或yml文件.有了配置文件后就要考虑如何与应用进行集成. 对于云环境来讲,项目发布需要打成镜像,再进行部署.如果把spring boot项目连同配置文件(变量)一起打入JAR包并不是一个很好的选择,我们的做法是JAR不包含配置文件,待启动镜像和JAR时将配置文件动态赋值给JAR包. 对于Spring Boot项目,有两种做法可以实现该目的: 1. --spring.config.locati

linux学习笔记六:加载USB移动硬盘(NTFS格式)

1.       下载rpmforge,下载对应的版本,还有32位与64位也要对应上.rpmforge拥有4000多种CentOS的软件包,被CentOS社区认为是最安全也是最稳定的一个软件仓库,以便于之后通过yum来安装软件包. 下载地址"http://pkgs.repoforge.org/rpmforge-release/" centos 6.5对应的版本是pmforge-release-0.5.3-1.el6.rf.x86_64.rpm Rhel5对应的版本是rpmforge-r

关于Java加载属性文件放在web容器不好使的解决办法

//使用Spring的工具就行了1 import java.util.Properties; 2 import org.springframework.core.io.support.PropertiesLoaderUtils; 3 4 Properties prop = PropertiesLoaderUtils.loadAllProperties("XXX.properties"); 5 prop.getProperty("name");

spring 加载属性(properties)文件

在开发的过程中,配置文件往往就是那些属性(properties)文件,比如使用properties文件配置数据库文件,又如database-config.properties 代码清单:database-config.properties jdbc.database.driver=com.mysql.cj.jdbc.Driver jdbc.database.url=jdbc:mysql://localhost:3306/springmvc?useSSL=false&serverTimezone=

1.Spring项目启动时,加载相关初始化配置

Spring项目启动时,会加载一些常用的配置: 1.加载spring上下文 SpringApplicationContextUtils.initApplicationContext(event.getServletContext()); 2.加载属性文件 EsbCommsUtils.initComms(event.getServletContext()); 1 public class EsbCommsUtils { 2 3 private static Log logger = LogFact

关于Spring+MyBatis的MapperScannerConfigurer无法加载place-holder属性问题分析

在1.2.5以下版本的mybatis-spring一下配置可能会无法启动,但junit方式可以启动 配置: <bean id="sqlSessionFactoryName" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource" /><property name=&q

看看Spring的源码——Bean加载过程

最近几天跟同事聊起Spring的一些问题,对一些地方有些疑问,趁这两天有点空,看看Spring的源码,了解下具体的实现细节.本文基于Spring 4.0.5版本. 首先Web项目使用Spring是通过在web.xml里面配置org.springframework.web.context.ContextLoaderListener初始化IOC容器的. <listener> <listener-class>org.springframework.web.context.ContextL