依赖注入
构造器注入
<!-- 按照名称注入,名称必须一致 -->
<bean id="MyBean" class="com.wal._01_.MyBean">
<constructor-arg name="id" value="1" />
<constructor-arg name="name" value="张三娃" />
</bean>
2.map参数注入
<property name="map">
<map>
<entry key="xx" value="value1"></entry>
<entry key="yy" value="value2"></entry>
</map>
</property>
配置properties对象
//不支持中文
<property name="props1">
<value>
Jpa.dialect=org.Jpa.dialect.HSQLDialect
Jpa.driverClassName=com.mysql.jdbc.Driver
</value>
</property>
//支持中文
<property name="props2">
<props>
<prop key="Jpa.dialect">org.Jpa.dialect.HSQLDialect</prop>
<prop key="Jpa.driverClassName">com.mysql.jdbc.Driver中文 </prop>
</props>
</property>
xml自动注入
根节点beans default-autowire=“byName” 对当前配置文件的所有bean都生效
子节点bean autowire="byType"只对当前bean生效
全注解配置
配置context命名空间
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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">
<!--
@Component 普通仓库
@Repository 仓库(其实就是dao层)
@Service service层
@Controller 控制层(servlet、action)
-->
<!-- 进行包的扫描,去看类上面是否有相应的标签配置 -->
<context:component-scan base-package="com.wal._03_anno" />
<!-- 这个不是必须的(spring3.2版本前使用) 配上后兼容性好 -->
<context:annotation-config />
当一个接口有两个实现类时
@Service
public class UserService {
@Autowired
//需要导入的bean的名字
@Qualifier("userJdbcDao")
private IUserDao userDao;
public void save(){
userDao.save();
}
}