ssh之雇员管理系统(7)-spring可以启用注解的方式来配置属性+解决懒加载问题...
六、spring可以启用注解的方式来配置属性
重新这样配置bean,这个是原先的employeeService
<!-- 添加实现逻辑对象 --><bean id="employeeService" class="com.wang.service.imp.EmployeeService"><property name="sessionFactory" ref="sessionFactory"></property></bean>
这个是配置后的
<!-- 使用注解的方式配置逻辑对象 --><bean id="employeeService" class="com.wang.service.imp.EmployeeService" />
2.添加下面的话在ApplicationContext中启用注解
<!-- 启用注解扫描:--><context:annotation-config />
3. 在EmployeeService中添加@Resource,javax.annotation.Resource
public class EmployeeService implements EmployeeServiceInter {@Resourceprivate 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<Employee> 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<Employee> getEmps() {return emps;}public void setEmps(Set<Employee> emps) {this.emps = emps;} }
View Code
- Department.hbm.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping package="com.wang.domain"><class name="Department" table="department"><!-- 主键策略 --><id name="id" type="java.lang.Integer"><generator class="native" /></id><property name="name" type="java.lang.String"><column name="name" length="32"></column></property><!-- 一对多的配置 --><set name="emps"><key column="department_id"></key><one-to-many class="com.wang.domain.Employee"/></set></class></hibernate-mapping>
View Code
- Employee.hbm.xml中添加
<!-- 多对一雇员到部门的配置 --><many-to-one name="department" column="department_id" />
- Employee.java中添加这个部门字段,并且实现他的set和get方法
//employee->departmentprivate Department department;
3. 用spring提供opensessioninview的方法来解决懒加载
<!--提供了opensessioninview的方法来解决懒加载 --><filter><filter-name>OpenSessionInViewFilter</filter-name><filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class></filter><filter-mapping><filter-name>OpenSessionInViewFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>
4. 在页面出调用通过用之前的setattribute的loginuser即${loginuser.department.name}可将部门调出来
转载于:https://www.cnblogs.com/wang3680/archive/2013/05/14/3078007.html
ssh之雇员管理系统(7)-spring可以启用注解的方式来配置属性+解决懒加载问题...相关推荐
- Spring Cloud Alibaba基础教程:Nacos配置的多文件加载与共享配置
<Spring Cloud Alibaba基础教程>连载中,关注我一起学期!前情回顾: <使用Nacos实现服务注册与发现> <支持的几种服务消费方式> <使 ...
- Spring - bean的lazy-init属性(懒加载)
默认情况下,容器初始化的时候便会把bean实例化,通常这样做可以让一些配置或者bean实例化的异常在容器启动的时候就发现,而不是在N久之后.但有时候,我们希望某个可能不会用到但又不是100%不用的be ...
- Spring系列(五):@Lazy懒加载注解用法介绍
今天给大家介绍@Lazy懒加载注解用法,希望对大家能有所帮助! 1.@Lazy 懒加载注解的概念 SpringIoC容器会在启动的时候实例化所有单实例 bean .如果我们想要实现 Spring 在启 ...
- Spring懒加载机制原理和配置讲解
一.什么是懒加载 Spring默认会在容器初始化的过程中,解析xml或注解,创建配置为单例的bean并保存到一个map中,这样的机制在bean比较少时问题不大,但一旦bean非常多时,spring需要 ...
- Spring Boot 学习系列(09)—自定义Bean的顺序加载
此文已由作者易国强授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. Bean 的顺序加载 有些场景中,我们希望编写的Bean能够按照指定的顺序进行加载.比如,有UserServ ...
- Spring 天天用,bean 懒加载原理你懂吗?
来源:小小木的博客 www.cnblogs.com/wyc1994666/p/10569091.html 普通的bean的初始化是在容器启动初始化阶段执行的,而被lazy-init修饰的bean 则是 ...
- spring预加载与懒加载_通过Spring将继承树加载到List中
spring预加载与懒加载 我注意到有趣的Spring功能. 我的一位同事使用它将Spring Bean的整个继承树加载到列表中. 在学习Spring文档时错过了这一点. 让我们来看看Spring b ...
- spring容器的懒加载
默认情况下,spring的IOC容器中lazy-init是false的,即没有打开懒加载模式. 如果你没有看到这个lazy-init 的参数设置就说明是false啦. 那么什么是懒加载? 懒加载--- ...
- 让Spring 3中jsp的数据对象使用懒加载(FetchType.LAZY)与Controller的JSR 303并存
本文出处:http://blog.csdn.net/chaijunkun/article/details/9083171,转载请注明.由于本人不定期会整理相关博文,会对相应内容作出完善.因此强烈建议在 ...
- Spring Bean懒加载与非懒加载
懒加载:对象使用的时候才去创建.节省资源,但是不利于提前发现错误: 提前加载:容器启动时立马创建.消耗资源,但有利于提前发现错误 Spring 默认设置是非懒加载 1,由于在controller中会注 ...
最新文章
- python如何询问_学习Python问?
- C:#define用法
- 【渝粤教育】国家开放大学2018年秋季 8669-21T (1)政治经济学 参考试题
- 计算机网络实验:VLAN Practice Lab Setup in Packet Tracer and Configure DHCP Server for multiple VLAN
- base32php,ThinkPHP6.0使用extends Base方式处理后台登录逻辑
- mysql1040_解决mysql 1040错误Too many connections的方法
- 我的Mac中毒了,病毒居然叫做MacPerformance
- 64bitwin7通过tns远程连接不上32bitlinux的rac
- 趣头条自媒体审核不过怎么办,趣头条伪原创工具教程
- 支付宝小程序: h5跳转 小程序
- 【CSDN软件工程师能力认证学习精选】十分详细的React入门实例
- 常见Bugger篇章一
- 抢票软件之——py12306使用指南
- 中东多国与卡塔尔断交或为黑客入侵所致? FBI协助调查
- CSS实现文字动画效果
- Arun Gupta通过将HTML5与Java EE 7拥抱来提高生产力
- 淘宝收藏加购对流量分配有影响吗?
- openxml操作word的基本应用
- U菜1G变化8M该解决方案
- Linux通过主机名免密码建立互信