Uma breve introdução aos sete principais módulos da estrutura da primavera
Explicação detalhada do código do módulo MVC na primavera
O Módulo ORM fornece suporte para estruturas ORM, como Hibernate, JDO, Toplinkibatis, etc.
Os módulos ORM dependem de Dom4j.jar, Antlr.jar e outros pacotes
Na primavera, os recursos de hibernação devem ser entregues à gestão da primavera, a Hibernate e sua fábrica de sessões e outros conhecimentos na primavera é um feijão especial, e a primavera é responsável pela instanciação e destruição. Portanto, a camada DAO precisa apenas herdar o HibernateDaosupport e não precisa lidar com a API do Hibernate e não precisa ativar ou desativar a sessão e a transação de Hibernate. A primavera manterá automaticamente esses objetos
interface pública ICATDAO {public void createCat (gato gato); Lista pública <at> listcats (); public int getCatScount (); public Cat FindCatbyName (Nome da String); } importar org.springframework.orm.hibernate3.support.hibernatedaosupport; classe pública CatdaoImpl estende HibernatedaosupportImplements ICATDAO {public void createCat (gato gato) {this.gethibernatetemplate (). Persist (CAT); } Lista pública <at> listcats () {return this. gethibernateTemplate (). encontre ("selecione CFROM CAT C"); } public int getCatScount () {número n = (número) this.getSession (true) .CreateQuery ("SelectCount (c) de Cat C"). UnikeResult (); retornar n.IntValue (); } public gat findCatbyName (nome da string) {list <at> catlist = this.gethibernateTemplate (). find ("Selecione C de Cat onde c.name =?", nome); if (catlist.size ()> 0) retorna catlist.get (0); retornar nulo; }}<bean id = "sessionFactory" Destroy-Method = "Destroy"> <Propriedade name = "DataSource" ref = "DataSource"/> <!-Todas as classes deste pacote serão carregadas como classes de entidade-> <nome da propriedade = "ANNOTATETPACKAGES" Value = "Classpath:/com/clf/ourm"/> <nome da "" Nome = " <value>com.clf.spring.orm.Cat</value> <value>com.clf.spring.orm.Dog</value> </list> <property name="hibernateProperties"> <props> <prop key="hiberante.dialect">org.hibernate.dialect.MySQLDialect</prop> <prop key = "hibernate.show_sql"> true </prop> <props key = "hibernate.format_sql"> true </prop> <propr key = "hibernate.hbm2ddl.auto"> criar </prop> </props> </propriedade> <bean = "catdao">
Se você usar uma classe de entidade configurada com XML, altere -a para
<bean id = "sessionFactory" Destroy-Method = "Destroy"> <Propriedade name = "mappingResources"> <lista> <Value> Classpath: /com/clf/orm/cat.hbm.xml </value> </list> </propriedade>… </ Bean>
A primavera adiciona transações na camada DAO por padrão, e cada método da camada DAO é uma transação. Na programação Spring+Hibernate, a prática usual é adicionar uma camada de serviço à camada DAO e configurar as transações para a camada de serviço.
interface pública ICATSERVICE {public void CreateCat (gato gato); Lista pública <at> listcats (); public int getCatScount (); }A abordagem hierárquica é que o programa chama a camada de serviço, a camada de serviço chama a camada DAO e a camada DAO chama Hibernate para obter acesso aos dados. Em princípio, o acesso transfronteiriço não é permitido. Camadas torna a hierarquia dos negócios mais clara
classe pública CatServiceImpl implementa ICATSERVICE {Private Idao Catdao; public Idao getCatdao () {return catdao; } public void setCatdao (Idao Dao) {this.catdao = dao; } public void createCat (gato gato) {catdao.createcat (gato); } list public <at> listcats () {return catdao.listcats (); } public int getCatScount () {return catdao.getCatScount (); }}Em seguida, configure o gerenciamento de transações no nível de serviço
<!-Gerenciador de transações-> <bean id = "hibernateTransactionManager"> <propriedade name = "sessionFactory" ref = "sessionFactory"/> </shean> <!-Regras de gerenciamento de transações-> <bean id = "hibernateTransactionAttributesource"> <Nome da propriedade = "Propriedades"> <! <pPekeyPropKey = "*"> propgation_required </ppo> </property> </bean> <!-classe de agente de fábrica de transações, montar a classe de implementação do serviço, gerenciador de transações e regras de gerenciamento de transações-> <bean id = "catService"> <nome do nome "namesanager" ref = "hibernatetransManager"> ref = "catdao"/> </bean> </property> <propriedade name = "transactionAttributesource" ref = "hibernateTransactionAttributesource"/> </i bean>
Resumir
O exposto acima é toda a explicação detalhada do código do módulo ORM da primavera. Espero que você possa ajudar. Amigos interessados podem continuar se referindo a outros tópicos relacionados neste site. Se houver alguma falha, deixe uma mensagem para apontá -la. Obrigado amigos pelo seu apoio para este site!