宜立方商城开发总结--1 雨点打透心脏的1/2处 2022-05-14 01:54 194阅读 0赞 1. 商城系统架构 ![70][] 2.工程搭建使用Maven Maven的常见打包方式:jar、war、pom Pom工程一般都是父工程,管理jar包的版本、maven插件的版本、统一的依赖管理。聚合工程。 war是管理web页面 e3-parent:父工程,打包方式pom,管理jar包的版本号。 项目中所有工程都应该继承父工程。 |--e3-common:通用的工具类通用的pojo。打包方式jar |--e3-manager:服务层工程。聚合工程。Pom工程 |--e3-manager-dao:打包方式jar |--e3-manager-pojo:打包方式jar |--e3-manager-interface:打包方式jar |--e3-manager-service:打包方式:jar |--e3-manager-web:表现层工程。打包方式war 开发环境: Eclipse Version: Oxygen.3a Release (4.7.3a) JDK1.8 3.后台系统:整合SSM框架 3.1 dao层:Mybatis整合 配置sqlMapConfig.xml:不需要配置什么,但要有文件头。 配置spring:applicationContext.xml:由spring创建数据库连接池,spring管理SqlSessionFactory、mapper代理对象 <!-- 数据库连接池 --> <!-- 加载配置文件 --> <context:property-placeholder location=*"classpath:**conf**/db.properties"* />//*conf**/db.properties放连接数据库 的四个参数* <!-- 数据库连接池 --> <bean id=*"dataSource"* class=*"com.alibaba.druid.pool.DruidDataSource"* destroy-method=*"close"*> <property name=*"url"* value=*"$\{jdbc.url\}"* /> <property name=*"username"* value=*"$\{jdbc.username\}"* /> <property name=*"password"* value=*"$\{jdbc.password\}"* /> <property name=*"driverClassName"* value=*"$\{jdbc.driver\}"* /> <property name=*"maxActive"* value=*"10"* /> <property name=*"minIdle"* value=*"5"* /> </bean> <!-- 让spring管理sqlsessionfactory 使用mybatis和spring整合包中的 --> <bean id=*"sqlSessionFactory"* class=*"org.mybatis.spring.SqlSessionFactoryBean"*> <!-- 数据库连接池 --> <property name=*"dataSource"* ref=*"dataSource"* /> <!-- 加载mybatis的全局配置文件 --> <property name=*"configLocation"* value=*"classpath:mybatis/SqlMapConfig.xml"* /> </bean> <!-- 扫描mapper--> <bean class=*"org.mybatis.spring.mapper.MapperScannerConfigurer"*> <property name=*"basePackage"* value=*"cn.e3mall.mapper"* /> </bean> 3.2 service层 applicationContext-service.xml <context:component-scan base-package=*"cn.e3mall.service"*/>//扫描注入这个包即子孙包的类 applicationContext-trans.xml 事务管理器(需要数据源datasource),AOP事务 所有的service实现类都放到spring容器中管理。并由spring管理事务。 3.3 web层 springmvc.xml:管理controller,Springmvc的三大组件。 扫描controller:<context:component-scan base-package=*"cn.e3mall.controller"* /> 配置返回String的url前后缀 <bean class=*"org.springframework.web.servlet.view.InternalResourceViewResolver"*> <property name=*"prefix"* value=*"/WEB-INF/jsp/"* /> <property name=*"suffix"* value=*".jsp"* /> </bean> 3.4 web.xml 配置spring容器(spring 监听器)随着项目启动 <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/applicationContext\*.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> 解决post提交乱码 <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>utf\-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/\*</url-pattern> </filter-mapping> 配置前端控制器 <servlet> <servlet-name>e3\-manager</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- contextConfigLocation不是必须的, 如果不配置contextConfigLocation, springmvc的配置文件默认在:WEB-INF/servlet的name+"-servlet.xml" --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/springmvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>e3\-manager</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> 4.mapper绑定异常 ![70 1][] 此异常的原因是由于mapper接口编译后在同一个目录下没有找到mapper映射文件而出现的。由于maven工程在默认情况下src/main/java目录下的mapper文件是不发布到target目录下 解决这个异常只需要在e3-manager-dao工程的pom文件中添加如下内容: ![70 2][] [70]: /images/20220514/c074e3cef4df49d79bbfcbe5b3fbea6d.png [70 1]: /images/20220514/b1775f62312d48ada7e8ffdaabb2108b.png [70 2]: /images/20220514/3431bf6befe7415cbc0186b482be78a6.png
还没有评论,来说两句吧...