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);
}
}