(一)Spring 框架的依赖的注入的方式
1通过set方法来完成注入
<bean id="h" class="com.zhiyou100.***.bean.User">
<property name="name" value="张三"/> <property> 标签是通过set方法来注入
<property name="age" value="18"/>
</bean>
2通过构造方法来完成依赖注入
<bean id="h1" class="com.zhiyou100.xth.bean.User">
<constructor-arg index="0" value="阿三"/>
<constructor-arg index="1" value="28"/>
</bean>
(二)依赖注入的数据类型
1基本数据类型和字符串使用value(如上面所示)
2如果是指向另外一个对象的引用 使用ref
3如果类对象注入的属性类型为list类型
<bean id="h1" class="com.zhiyou100.xth.bean.User" scope="prototype">
<property name="name" value="张三"/>
<property name="age" value="28"/>
<property name="list">
<list>
<bean class="com.zhiyou100.xth.bean.Student">
<property name="address" value="南京"/>
</bean>
<bean class="com.zhiyou100.xth.bean.Student">
<property name="address" value="北京"/>
</bean>
<bean class="com.zhiyou100.xth.bean.Student">
<property name="address" value="华东"/>
</bean>
<bean class="com.zhiyou100.xth.bean.Student">
<property name="address" value="华北"/>
</bean>
</list>
</property>
</bean>
4如果类对象注入的属性类型为map类型
<property name="map">
<map>
<entry key="jj" value="积极"/>
<entry key="hh" value="哈哈"/>
<entry key="uu" value="哈哎s"/>
<entry key="ii" value="阿瑟东"/>
</map>
</property >
(三) Bean的作用域
(四)自动注入
(五)在Spring配置文件中引入配置文件
<context:property-placeholder location="classpath:my.properties"/>
<bean class="com.zhiyou100.xth.bean.User" id="user">
<property name="name" value="${user.name}"/> 其中不能使用user.name 那样默认的会是操作者的电脑账户的id 要避开这个关键字
<property name="age" value="${user.age}"/>
</bean>
(六)使用注解的方式
1 引入jar包 aop的jar包
2 配置文件中使用包扫描
<context:component-scan base-package="com.zhiyou100.**"/>
3 在相应的类加上注解
@Repository 持久化注解。
@Service 业务层注解
@Controller 控制层注解
@Autowired 自动注入 按照类型帮你自动注入,如果由多个类型相同的那么就会在按照名称注入。(建议使用这个)
@Resource 自动注入 按照名称注入,如果没有相同名称的bean那么会按照类型帮你注入。 它可以指定名称来注入。
@component
Controller的代码
@Controller
public class UserControllerimp {
@Autowired
private UserService userService;
public void findbyid(int id) {
userService.queryid(id);
}
}
Serviced 代码
@Service
public class UserServiceimp implements UserService{
@Autowired
private UserDao userdao;
@Override
public void queryid(int id) {
userdao.selectid(id);
}
}
dao的代码
@Repository
public class UserDaoimp implements UserDao{
@Override
public void selectid(int id) {
System.out.println("++++++++++++++");
}
}