SSH框架心得

4 篇文章 0 订阅

strust 

       主要做servlet访问service,用spring的依赖注入标签

           @Controller @Scope("prototype")

           public class EmployeeManageAction {

           @Controller 表示这个action是spring的控制层bean

            @Scope("prototype")表示设置为每次访问实例化一个action对象,因为spring默认单例模式,防止其他action对象造成数据掺一起

Spring

        可以对一切bean。例如hibernate的sessionFactory,action都进行管理,可以用依赖注解了

Hibernate

       主要配置Employee.hbm.xml进行对象与表的映射,注意在spring配置文件bean.xml对hibernate配置的一些项

               <propertyname="hibernateProperties">

                                                <value>

                                                    hibernate.dialect=org.hibernate.dialect.MySQL5Dialect

                                                     hibernate.hbm2ddl.auto=update

                                                     hibernate.show_sql=false

                                                     hibernate.format_sql=false

                                                 </value>

                                      </property>

另外业务的定义是在spring的bean.xml中定义的,hibernate使用的是spring的对象

    <bean id="txManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager">

                                     <propertyname="sessionFactory" ref="sessionFactory"/>

                                   </bean>

                                   <!--使用基于注解方式配置事务-->

                                   <tx:annotation-driventransaction-manager="txManager"/>

    

             @ResourceSessionFactory factory;

                                   publicvoid delete(String... usernames) {

                                     for(Stringusername : usernames){

                                     黄标表示使用spring的事务session  factory.getCurrentSession().delete(factory.getCurrentSession().load(Employee.class,username));

                                     }

                                   }

 

@Transactional(propagation=Propagation.NOT_SUPPORTED)//表示不使用事务

                                   publicEmployee find(String username) {

                                     return(Employee)factory.getCurrentSession().get(Employee.class, username);

                                   }

 

              该批注的作用是给编译器一条指令,告诉它对被批注的代码元素内部的某些警告保持静默。具体可以查看传智播客的hibernate的注解ppt或者百度

                                   @SuppressWarnings("unchecked")

                                   @Transactional(propagation=Propagation.NOT_SUPPORTED)

                                   publicList<Employee> list() {             

                                     returnfactory.getCurrentSession().createQuery("from Employee").list();

                                   }

             

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值