JavaEE笔记(十四)

#SSH配置文件整合笔记实例

spring-BaseBean.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.2.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">
    <!-- 读取db.propertieds配置文件 -->
    <context:property-placeholder location="classpath:db.properties" />
    <!-- 配置连接池c3p0 -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
        destroy-method="close">
        <property name="driverClass" value="${driverClass}" />
        <property name="jdbcUrl" value="${jdbcUrl}" />
        <property name="user" value="${user}" />
        <property name="password" value="${password}" />
        <!--当连接池中的连接用完时,C3P0一次性创建新连接的数目 -->
        <property name="acquireIncrement" value="${acquireIncrement}" />
        <!--初始化时创建的连接数,应在minPoolSize与maxPoolSize之间取值 -->
        <property name="initialPoolSize" value="${initialPoolSize}" />
        <!--minPoolSize连接池 最少连接数 -->
        <property name="minPoolSize" value="${minPoolSize}" />
        <!--maxPoolSize连接池 最大连接数 -->
        <property name="maxPoolSize" value="${maxPoolSize}" />
        <!--maxIdleTime最大空闲时间 -->
        <property name="maxIdleTime" value="${maxIdleTime}" />
    </bean>

    <!-- 配置sessionFactory -->
    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="mappingResources">
            <!-- 配置hibernate文件 -->
            <list>
                <value>com/pet/bean/xml/PetDiary.hbm.xml</value>
                <value>com/pet/bean/xml/PetInfo.hbm.xml</value>
            </list>
        </property>
        <!-- 配置hibernate系统执行读取配置文件 -->
        <property name="hibernateProperties">
            <value>
                hibernate.dialect=org.hibernate.dialect.MySQLDialect
                hibernate.show_sql=true
                hibernate.hbm2ddl.auto=update
                hibernate.format_sql=true
            </value>
        </property>
    </bean>

    <!-- 开启事物管理 -->
    <bean id="transactionManager"
        class="org.springframework.orm.hibernate4.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>

    <aop:config>
        <aop:pointcut id="pointcut" expression="execution(* com.pet.dao.*.*(..))" />
        <aop:advisor advice-ref="txAdvice" pointcut-ref="pointcut" />
    </aop:config>

    <tx:advice id="txAdvice" transaction-manager="transactionManager">
        <tx:attributes>
            <tx:method name="insert*" propagation="REQUIRED" />
            <tx:method name="update*" propagation="REQUIRED" />
            <tx:method name="delete*" propagation="REQUIRED" />
            <tx:method name="select*" read-only="true" />
        </tx:attributes>
    </tx:advice>
    <!-- 配置bean对象 -->
    <bean id="PetDiaryDaoImpl" class="com.pet.dao.impl.PetDiaryDaoImpl">

        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    <bean id="PetInfoDaoImpl" class="com.pet.dao.impl.PetInfoDaoImpl">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    <bean id="PetDiaryServiceImpl" class="com.pet.service.impl.PetDiaryServiceImpl">
        <property name="petDiaryDaoImpl" ref="PetDiaryDaoImpl" />
    </bean>
    <bean id="PetInfoServiceImpl" class="com.pet.service.impl.PetInfoServiceImpl">
        <property name="petInfoDaoImpl" ref="PetInfoDaoImpl" />
    </bean>
</beans>    

db.properties

driverClass=com.mysql.jdbc.Driver
jdbcUrl=jdbc:mysql://127.0.0.1:3306/javaee
user=root
password=765800
acquireIncrement=10
initialPoolSize=10
minPoolSize=3
maxPoolSize=500
maxIdleTime=1800

spring-ActionBean.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    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-3.2.xsd">

    <bean id="PetInfoAction" class="com.pet.struts.PetInfoAction">
        <property name="petInfoServiceImpl" ref="PetInfoServiceImpl"/>
    </bean>
</beans>    

struts.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
    "http://struts.apache.org/dtds/struts-2.5.dtd">

<struts>
    <!-- 开启开发者模式 -->
    <constant name="struts.devMode" value="true" />
    <!--把struts生产action的权利交给spring -->
    <constant name="struts.objectFactory" value="spring" />

    <package name="student" extends="json-default" namespace="/">
        <action name="pet_*" class="PetInfoAction"
            method="{1}">
            <result type="json"/>
            <allowed-methods>
                selectAllPets,delete,selectById,insert
            </allowed-methods>
        </action>
    </package>
</struts>

ps:配置文件仅供参考

时间: 2024-12-27 16:06:19

JavaEE笔记(十四)的相关文章

swift 笔记 (十四) —— 构造过程

构造过程 为了生成类.结构体.枚举等的实例,而做的准备过程,叫做构造过程. 为了这个过程,我们通常会定义一个方法来完成,这个方法叫做构造器.当然它的逆过程,叫做析构器,用于在实例被释放前做一些清理工作以及一此自定义化的处理. 为存储型属性设置初始值 类和结构体在生成实例那一刻,必须为所有的属性赋以特定的初始值. 要么在定义存储型属性的时候直接给个初始值,否则就必须在构造器里面指定一个初始值. 上面说的这两种情况,都不会触发存储型属性的监听者行为(property observer). struc

Swift学习笔记十四:构造(Initialization)

类和结构体在实例创建时,必须为所有存储型属性设置合适的初始值.存储型属性的值不能处于一个未知的状态. 你可以在构造器中为存储型属性赋初值,也可以在定义属性时为其设置默认值.以下章节将详细介绍这两种方法. 注意: 当你为存储型属性设置默认值或者在构造器中为其赋值时,它们的值是被直接设置的,不会触发任何属性观测器(property observers). 一.基本语法 class Human{ var name :String init(){ name = "human" } init(n

laravel3学习笔记(十四)

原作者博客:ieqi.net ==================================================================================================== 运行时配置 在 Laravel3 中很多地方我们都可以看到“约定大于配置”的影子,我本人也很喜欢这种工程哲学尤其是在框架领域,当然这并不能代替所有的配置.我们知道 Laravel3 中,主要配置都写在 application/config 文件夹下,在应用逻辑中,往往

Oracle基础笔记十四

第十四章 高级子查询 1.子查询 子查询 (内查询) 在主查询执行之前执行 主查询(外查询)使用子查询的结果 SELECT select_list FROM table WHERE expr operator (SELECT select_list FROM  table); 问题:查询工资大于149号员工工资的员工的信息 SELECT last_name FROM   employees WHERE  salary > (SELECT salary FROM   employees WHERE

《Inside C#》笔记(十四) 反射

通过反射可以在运行时动态地获取一个应用的元数据. 一 反射相关的类和方法 与反射相关的类处在System.Reflection命名空间下,包括Assembly.Module.MethodInfo.FieldInfo.PropertyInfo.EventInfo. a)Type类 System.Type类是反射机制的核心.Type类本身是一个抽象类,代表CTS通用类型系统中的某个类型. 对于已经实例化的对象,可以使用<对象名称>.GetType()来取得Type类.另外也可以使用静态方法Type

TCP/IP详解 笔记十四

TCP/IP协议(二)  连接的建立与终止 tcpdump -S输出TCP报文的格式 格式: 源>目的:标志 (标志就是tcp头部).标识首字符意义如下: 例如:telnet 某服务的输出(包括连接建立和终止) 标识解释:S 1415531521:1415531521(0) win 4096 <mss 1024> S(SYN):代表建立一个连接 1415531521:1415531521(0) :本次传送的首字节序号是1415531521(这里是ISN),尾字节序号是1415531521

【转】angular学习笔记(十四)-$watch(1)

本篇主要介绍$watch的基本概念: $watch是所有控制器的$scope中内置的方法: $scope.$watch(watchObj,watchCallback,ifDeep) watchObj: 需要被检测的对象,可以是以下任意一种: 1. 某个数据,监测这个数据的值是否发生变化 2. 一条angular表达式,监测表达式的结果是否发生变化 3. 函数(),监测函数的返回值是否发生变化 注意,以上三种,无论是哪种,都应该是字符串格式,并且都是在$scope作用域下执行的. 4.函数,非字符

How tomcat works 读书笔记十四 服务器组件和服务组件

之前的项目还是有些问题的,例如 1 只能有一个连接器,只能处理http请求,无法添加另外一个连接器用来处理https. 2 对容器的关闭只能是粗暴的关闭Bootstrap. 服务器组件 org.apache.catalina.Server接口的实例用来表示Catalina的整个servlet引擎. 我们使用Server就是因为,它用一种优雅的方式来启动/关闭整个系统. 下面是启动和停止机制是如何工作的.当服务器启动的时候,它启动它内部的所有组件.然后无限期的等待关闭命令,如果你想要关闭系统,发送

Java笔记十四.深入理解类和对象(1)

Java是一种完全面向对象的编程语言(C是面向过程).所谓面向对象编程(OOP),即是一种编程风格,它通过给程序中加入扩展语句,把函数"封装"进编程所必需的"对象"中.OOP 达到了软件工程的三个主要目标:重用性.灵活性和扩展性.其实,面向对象就是把一切东西看成一个个对象,比如人,车,面包,等等,然后把这些对象拥有的属性变量,比如年龄,民族,工作地点,变质期,寿命,还有操作这些属性变量的函数(方法)打包成一个类来表示,这个类的一个抽象就是一个对象.在Java程序中,

Oracle笔记 十四、查询XML操作、操作系统文件

--1.随机数 select dbms_random.value from dual; select mod(dbms_random.random, 10) from dual; --0-9随机数 select abs(mod(dbms_random.random, 10)) from dual; --40-49随机数 select 40 + abs(mod(dbms_random.random, 10)) from dual;   --2.Xml declare words clob; xml