第一步
创建一个maven空项目
第二步
编写pom.xml文件,pom文件主要要编写一下内容:
1.<packaging>标签,对于web项目,填写war,使用该标签将项目打包成war包,默认为jar包。
2.<properties>标签,主要对依赖版本命名,在填写依赖时可以通过${属性名}的方式配置,方面统一维护管理,特别是对于spring有许多依赖,使用属性名可以统一spring各个依赖的版本。
3.<dependencies>标签,主要编写标签,填写各种依赖,对于ssm框架搭建,需要的依赖大致如下:
3.1 spring相关依赖:spring-core,spring-beans,spring-context,spring-context-support,spring-tx,spring-web,spring-webmvc,spring-aop,aspectjweaver,spring-jdbc(spring事务与spring数据源需要用到,当然可以用第三方依赖包dbcp配置数据源)
3.2 web相关依赖:servlet-api,jstl
3.3数据库相关依赖:common-dbcp(线程池,可用于配置数据库),mysql-connector-java(主要依赖版本应与本地mysql版本一致)
3.4测试相关依赖:spring-test,test-ng
3.5mybatis相关依赖:mybatis,mybatis-spring
4.<plugins>标签,各种需要用到的插件,如jetty等
第三步
类包规划:空项目中src包下有两个包,main和test,main中存放源码,main下可以放三个包,java,resource,webapp,这三个包分别是后端代码,资源文件(spring配置文件,静态资源等)和前端文件的根路径,可以在idea中右键,选择mark directory as,设置相应根路径。在java包下创建com.smart包(此包名应该是项目的groupId+artifactId),然后在此包下分别创建web,service,dao,domain包准备开发,在test包创建相同的包路径用于测试。在webapp包下创建WEB-INF/web.xml文件用于配置web容器。
对于简单项目可以按照以上方式分包,对于大型项目,还需要具体细分。
第四步
配置spring容器:对于业务逻辑类(web,service,dao,domain下的类)可以使用标签非常方便的注入到容器中,因此spring配置文件主要将spring框架中使用到的基础设施配置并注入到容器中。在resources创建两个xml文件,一个作为业务层spring容器配置文件,一个作为web层springMVC容器配置文件(以上为最简单划分)。通常要进行以下配置:
1.扫描类包,使业务逻辑类完成自动注入
2.配置数据源
3.配置mybatis相关组件
4.配置事务管理,事务是以切面的形式织入到代码中的,因此配置事务逻辑就是配置增强,还是配置切点组合成切面。
5.配置视图解析器(SpringMVC容器)
6.配置<mvc:annotation-driven/> 此处是个大坑 先挖
第五步
配置web容器,web容器中可以配置缓存,监听器,过滤器,Servlet。对于最基本的SSM框架,至少需要配置一个业务层的spring容器和一个dispatchServlet。
1.配置业务层的spring容器
2。配置dispatcherServlet
注1:在<init-param>的contextConfigLocation中可以配置dispatcherServlet对应的SpringMVC容器的路径(该方式可以配置多个),若没有配置该标签,springMVC容器对应的xml文件必须在WEB-INF文件夹下且命名为<servlet-name>-servlet.xml。
注2:若将<url-pattern>配置为/,必须在SpringMVC容器中配置<mvc:default-servlet-handler/>,这样,对于静态文件的获取请求,该handler会交给web容器中的defaultServlet处理(该Servlet不用手动配置),非静态资源请求由dispatcherServlet处理。
3.配置spring内置的字符过滤器
以上SSM框架便搭建完成,接下来可以进行业务开发。
第六步:开发持久层与服务层
第七步:使用TestNG测试服务层
首先在test目录下创建与待测试类一致的包名和相应类名。
编写该类,继承AbstractTransactionalTestNGSpringContextTests,并标注@ContextConfiguration("classpath*:/smart-context.xml")标签指定spring配置文件。之后便可使用@Test标签编写测试方法
第八步:编写展现层
第九步:配置tomcat或jetty,部署运行