六、spring可以启用注解的方式来配置属性
-
重新这样配置bean,这个是原先的employeeService
这个是配置后的
2.添加下面的话在ApplicationContext中启用注解
3. 在EmployeeService中添加@Resource,javax.annotation.Resource
public class EmployeeService implements EmployeeServiceInter { @Resource private SessionFactory sessionFactory ;//这里的sessionFactory 必须和ApplicationContext中的bean对应上,名字相同 public void setSessionFactory(SessionFactory sessionFactory) { System.out.println("使用注解的方式@Resource实现bean的调用"); this.sessionFactory = sessionFactory; }
4. 同样的方法 action也可以用注解的方式来配置bean
========================================================================================
1. 解决懒加载问题,以下先介绍下hibernate中关系映射问题
2. 我们增加一个部门Department,那么雇员-》部门就是多对一,部门-》雇员就是一对多的问题
- Department.java
package com.wang.domain;import java.util.Set;public class Department { private Integer id; private String name; //由于一个部门下面有很多雇员,所以这里用set集合 private Set
emps; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Set getEmps() { return emps; } public void setEmps(Set emps) { this.emps = emps; }} - Department.hbm.xml
- Employee.hbm.xml中添加
- Employee.java中添加这个部门字段,并且实现他的set和get方法
//employee->department private Department department;
3. 用spring提供opensessioninview的方法来解决懒加载
OpenSessionInViewFilter org.springframework.orm.hibernate3.support.OpenSessionInViewFilter OpenSessionInViewFilter /*
4. 在页面出调用通过用之前的setattribute的loginuser即${loginuser.department.name}可将部门调出来