spring配置属性文件

spring数据源

配置文件

db.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/login
jdbc.password=wityy
jdbc.username=root

applicaitonContext.xml

加载配置文件,其中classpath表示直接从src目录下开始寻找,而不是项目根目录

 <context:property-placeholder location="classpath: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>

扫描器这里需要改一下,因为之前ref=“factory”,ref这里必须要先加载factory,最终导致数据源的数据没传进去对象就已经创建

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

给普通属性用注解赋值

加载配置文件

 <context:property-placeholder location="classpath:demo.properties"/>

扫描注解

  <context:component-scan base-package="cn.wit.test"></context:component-scan>

bean

<bean id="people" class="cn.wit.test.People"></bean>

bean类

public class People {
    
    
	@Value("${People.name}")
	private String name;

	@Override
	public String toString() {
    
    
		return "People [name=" + name + "]";
	}
	
}

测试

public class Test {
    
    
	public static void main(String[] args) {
    
    
		ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");
		People peo=ac.getBean("people",People.class);
		System.out.println(peo);
		
	}
}

猜你喜欢

转载自blog.csdn.net/WA_MC/article/details/112648561