zoukankan      html  css  js  c++  java
  • Spring 雇员管理系统SSH 6

    通过注解的方式配置Spring属性

       

    1. 重新这样配置bean

      <bean id="employeeService" class="com.hsp.service.imp.EmployeeService"/>

    2. EmployeeService 的属性sessionFactory中添加一个注解 @Resource
    3. applicationContext.xml中启用注解

      <context:annotation-config/>

       

       

    还要在applicationContext.xml中配置启用注解扫描

       

    启用注解扫描:

    <context:annotation-config/>

       

    byName是四种自动装配类型之一

       

    自动装配

    <bean id="foo" class="...Foo" autowire="autowire type">

    有四种自动装配类型:

    1.byName寻找和属性名相同的bean,若找不到,则装不上。

    2.byType:寻找和属性类型相同的bean,找不到,装不上,找到多个抛异常。

    3.constructor:查找和bean的构造参数一致的一个或

    多个bean,若找不到或找到多个,抛异常。按照参数的类型装配

    4.autodetect: (3)(2)之间选一个方式。不确定

    性的处理与(3)(2)一致。

    5.defualt : 这个需要在<beans defualt-autorwire="指定" />

    6.no : 不自动装配,这是autowrite的默认值.

       

    懒加载的问题

       

       

    第一种和第四种方案都不好的原因

       

    不管以后用不用到这个departmentName,都会向数据库发送查询请求,浪费资源

       

    最好的方法应该是第三种

       

    本质是一个过滤器

       

    web.xml中配置opensessioninview解决懒加载

    所以department.hbm.xml文件中的department bean属性中就可以把lazy="false"去掉

       

    该方法session周期长,这个点的好处是可以有效的减少对数据库的查询,缺点是和数据库连接的session的周期变长

  • 相关阅读:
    Django model 常用方法记录
    程序员的注意事项
    硬件天使的使用
    你是否应该成为一名全栈工程师?
    web技术
    6个处理上面代码异味的重构方法(手法)
    git 命定
    ie console报错
    apache 省略index.php访问
    myisam和innodb的区别
  • 原文地址:https://www.cnblogs.com/keedor/p/4364763.html
Copyright © 2011-2022 走看看