框架学习之spring整合hibernate、struts2框架-01基础配置
来源:互联网 发布:终极算法 pdf 编辑:程序博客网 时间:2024/06/05 11:59
spring概述
- spring是一个容器框架,创建bean,维护bean之间的关系
- spring可以管理web层,持久层,业务层,dao层,spring可以配置各个层的组件,并且维护各个层的关系
spring整合struts2之配置
web.xml配置
1. 除了在文件中配置使用struts2的过滤器外,还需要配置一个spring框架提供的一个监听器
2. 同时配置一个applicationConte.xml文件路径,可以供给spring框架扫描到关于spring配置的相关信息
<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:/applicationContext.xml</param-value></context-param><listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>
applicationContext.xml配置
1. 在src根路径下创建一个applicationContext.xml文件,在该文件中配置struts2的相关信息
2. 配置bean,配置属性id(bean的名字),class(bean类路径)
3. 如果bean有依赖的属性,那么还要配置property属性
<bean id="adminDao" class="com.bwf.book.dao.impl.AdminDaoImpl"> <property name="sessionFactory" ref="sessionFactory" /> </bean>
说明:adminDao就是要存入容器的bean,class是实现类,sessionFacatory是其依赖的属性,其他的层也是如此配置格式
struts.xml(或者是包含文件中)配置
在struts相关的xml文件中将class的实现类路径修改为applicationContext.xml文件中对应的bean的id名,其余配置不变
spring整合struts2之注解
applicationContext.xml配置
1. 不用在文件中配置要经常调用的controller层、service层、dao层的bean属性
2. 直接在文件中声明配置,将指定的包路径下的组件类扫描并实例化存放到spring容器中
<!-- 在basePackage指定的包及后代包中扫描所有的组件类,将其实例化,放入整个容器中 --><!-- 组件类(在类的声明上,使用了@Component注解的类、@Controller、@Service、@Repository) --><context:component-scan base-package="指定的包路径" />
说明:该标签的使用需要导入相应的约束
3. 配置后,在实际需要存入容器的类上添加注解:
@Controller表示控制器
@Scope(“prototype”)表示每次访问的时候都会创建一个处理器
@Service表示业务逻辑处理器(只需要创建一个)
@Repository表示持久层处理器(只需要创建一个)
除此之外的可以使用
@Component表示所有的bean都可以放入容器中(只需要创建一个,可用在sessionFactory)
对于bean所依赖的属性,可以在属性声明上加注解:@Autowired自动完成装配,struts.xml配置不用改变
spring整合hibernate
applicationContext.xml配置
在文件中需要配置数据源、sessionFactory会话工厂
1. 数据源配置:
用alibaba的数据源(相应的包导入,百度),也可以用c3p0数据源,百度即可
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <property name="driverClassName" value="${jdbc.driver}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> <property name="initialSize" value="8" /> </bean>
说明:${jdbc.driver}表示占位符,可以在src根目录小创建一个properties文件,键名就是占位符对应的名字,然后在这个xml文件中配置一个读取的路径:
<!-- 扫描指定的properties文件,将属性信息加载到内存中 然后再将${}替换掉--><context:property-placeholder location="classpath:jdbc.properties" />
对于数据源还可以配置连接池的其他属性,不再赘述
2. 会话工厂配置:
<!-- 配置spring整合hibernate会话工厂实现类 --><bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="packagesToScan"> <list> <value>com.bwf.book.entity</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.format_sql">true</prop> </props> </property></bean>
说明:该会话工厂依赖于上面的数据源dataSource,需要配置实体类的包路径,由此来说明哪些是需要持久化的实体;另外,需要配置好hibernate的属性,即方言、sql语句的格式和显示
- 框架学习之spring整合hibernate、struts2框架-01基础配置
- Activiti5工作流框架学习之Struts2+Hibernate+Spring整合配置
- 框架学习之spring整合struts2、hibernate-02AOP编程
- struts2+hibernate+spring框架整合
- Struts2+Hibernate+spring框架整合
- hibernate+struts2+spring框架整合
- 手动配置三大框架整合,Spring+Struts2+Hibernate
- 手动配置三大框架整合,Spring+Struts2+Hibernate
- SSH框架整合(Spring整合Struts2,和Spring整合Hibernate)
- spring和mybatis ,hibernate, struts2框架整合
- Spring+Struts2+hibernate框架整合详解
- struts2,spring,hibernate三大框架整合
- 三大框架整合(Struts2 Spring Hibernate)
- Struts2+Spring+Hibernate+Maven框架整合
- Spring整合第三方框架(Hibernate、Struts2)
- 整合Struts2 Spring Hibernate,搭建SSH框架
- Spring+Struts2+Hibernate 框架整合 配置文件
- 【struts2+spring+hibernate】ssh框架整合开发
- BigDecimal保留两位小数及格式化成百分比
- nginx模块解析
- swift get、set、willSet和didSet
- Linked List Cycle II
- Android 7.0 行为变更 通过FileProvider在应用间共享文件吧
- 框架学习之spring整合hibernate、struts2框架-01基础配置
- SQL 使用update case when 批量更新
- 多重背包的二进制优化
- LR入门
- BZOJ1179: [Apio2009]Atm
- [网络流24题]魔术球问题(简化版
- Visual Studio运行自定义外部工具
- [Oracle] sqlplus / as sysdba ora-01031 insufficient privileges
- 小米笔记本在Kali Linux下所遇问题部分解决方案(持续更新中)