java中ssj框架的项目搭建流程

1.新建一个maven项目

2.在pom.xml中,配置所需的jar包及其版本号

  <!-- 设置自定义属性和值 -->
 <properties>
  <spring.version>4.1.7.RELEASE</spring.version>
  <hibernate.version>4.3.11.Final</hibernate.version>
 </properties>

 <dependencies>
  <!-- spring配置 -->
  <dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-core</artifactId>
  <version>${spring.version}</version>
  </dependency>
  <dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-context</artifactId>
  <version>${spring.version}</version>
  </dependency>
  <dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-web</artifactId>
  <version>${spring.version}</version>
  </dependency>
  <dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-webmvc</artifactId>
  <version>${spring.version}</version>
  </dependency>

  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-orm</artifactId>
   <version>${spring.version}</version>
  </dependency>

  <!-- SpringAOP需要依赖这个jar包 -->
  <dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjweaver</artifactId>
    <version>1.8.13</version>
  </dependency>

  <!-- 引入servlet -->
  <dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>javax.servlet-api</artifactId>
  <version>3.1.0</version>
  </dependency>  

  <!-- SpringMVC文件上传时依赖这个jar包 -->
  <dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId>commons-fileupload</artifactId>
    <version>1.4</version>
  </dependency>

  <!-- 引入Jackson相关依赖 -->
  <dependency>
   <groupId>com.fasterxml.jackson.core</groupId>
   <artifactId>jackson-core</artifactId>
   <version>2.8.1</version>
  </dependency>
  <dependency>
   <groupId>com.fasterxml.jackson.core</groupId>
   <artifactId>jackson-databind</artifactId>
   <version>2.8.1</version>
  </dependency>
  <dependency>
   <groupId>com.fasterxml.jackson.core</groupId>
   <artifactId>jackson-annotations</artifactId>
   <version>2.8.1</version>
  </dependency>

  <!-- 引入jstl包 -->
  <dependency>
  <groupId>javax.servlet.jsp.jstl</groupId>
  <artifactId>jstl-api</artifactId>
  <version>1.2</version>
  <exclusions>
   <exclusion>
    <groupId>javax.servlet</groupId>
     <artifactId>servlet-api</artifactId>
   </exclusion>
  </exclusions>
  </dependency>
  <dependency>
    <groupId>taglibs</groupId>
    <artifactId>standard</artifactId>
    <version>1.1.2</version>
  </dependency>

  <!-- spring-data-jpa -->
  <dependency>
      <groupId>org.springframework.data</groupId>
      <artifactId>spring-data-jpa</artifactId>
      <version>1.9.0.RELEASE</version>
    </dependency>

    <!-- hibernate 配置 4.3.11.Final -->
  <dependency>
   <groupId>org.hibernate</groupId>
   <artifactId>hibernate-core</artifactId>
   <version>${hibernate.version}</version>
  </dependency>
  <dependency>
   <groupId>org.hibernate</groupId>
   <artifactId>hibernate-entitymanager</artifactId>
   <version>${hibernate.version}</version>
  </dependency>

  <!-- mysql数据库的驱动包 -->
  <dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
   <version>5.1.6</version>
  </dependency>

  <!-- c3p0数据库连接池 -->
  <!-- https://mvnrepository.com/artifact/com.mchange/c3p0 -->
  <dependency>
    <groupId>com.mchange</groupId>
    <artifactId>c3p0</artifactId>
    <version>0.9.5.2</version>
  </dependency>

  <!-- java单元测试框架 -->
   <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
  </dependency>
  <!-- spring 与Junit整合相关依赖 -->
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
    <version>${spring.version}</version>
  </dependency>

  <!-- apache工具包 -->
  <dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.7</version>
  </dependency>

  <!-- md5 加密相关依赖 -->
  <dependency>
   <groupId>org.apache.poi</groupId>
   <artifactId>poi</artifactId>
   <version>3.17</version>
  </dependency>
  <dependency>
   <groupId>org.apache.poi</groupId>
   <artifactId>poi-ooxml</artifactId>
   <version>3.17</version>
  </dependency>

 <!-- 发送邮件 -->
 <dependency>
   <groupId>javax.mail</groupId>
   <artifactId>mail</artifactId>
   <version>1.4.7</version>
 </dependency>

 <!-- 下载压缩附件 -->
 <dependency>
   <groupId>org.apache.ant</groupId>
   <artifactId>ant</artifactId>
   <version>1.9.7</version>
 </dependency>

 </dependencies>

3.建造完成后,自动生成一个web.xml

在web.xml中:
 A. 加载Spring配置文件
 B. 配置Spring的监听
 C. 配置SpringMVC的核心控制器
 D. 配置编码过滤器,作用:防止中文乱码
 E. 配置验证码相关servlet(有需要的话)

代码如下:

<!-- 加载Spring配置文件 -->
 <context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath:applicationContext.xml</param-value>
 </context-param>

 <!--配置Spring的监听-->
 <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>

 <!-- 配置SpringMVC的核心控制器 拦截所有请求 -->
 <servlet>
  <servlet-name>springMVC</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <init-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath:springMVC.xml</param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
 </servlet>
 <servlet-mapping>
  <servlet-name>springMVC</servlet-name>
  <url-pattern>/</url-pattern>
 </servlet-mapping> 

 <!-- 配置编码过滤器,作用:防止中文乱码 -->
 <filter>
  <filter-name>abc</filter-name>
  <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  <async-supported>true</async-supported>
  <init-param>
  <param-name>encoding</param-name>
  <param-value>utf-8</param-value>
  </init-param>
 </filter>
 <filter-mapping>
  <filter-name>abc</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>

 <!-- 配置验证码相关servlet -->
<servlet>
 <servlet-name>CheckCodeServlet</servlet-name>
 <servlet-class>cn.fh.servlet.CheckCodeServlet</servlet-class>
 </servlet> 

 <servlet-mapping>
 <servlet-name>CheckCodeServlet</servlet-name>
 <url-pattern>/CheckCodeServlet</url-pattern>
 </servlet-mapping> 

4.在resources文件夹下,创建并配置applicationContext.xml和springMVC.xml文件

applicationContext.xml中详细配置:
A. 创建数据源:创建c3p0连接池,连接数据库
B. 根据数据源,创建实体管理工厂
C. 配置事务
D. SpringDataJpa的相关配置 
E. 开启组件的扫描
F. 定义advice,配置传播特性、事务隔离级别、只读事务、回滚策略
G. 切点配置 execution

springMVC.xml
A. 开启注解
B. 放开静态资源
C. 配置视图解析器
D. 上传文件相关配置
E. 注册拦截器

5.新建model层,在实体类中,通过注解的方式来配置数据库中表的信息

@Entity 表明这是一个实体类
@Table(name = "")在数据库中生成对应的表名
@Id声明主键
@GeneratedValue设置主键生成策略
 GenerationType.IDENTITY  mySql主键生成策略
 GenerationType.SEQUENCE  oracle主键生成策略
 GenerationType.AUTO  根据不同的数据库,设置对应的主键生成策略

6.新建repository层,并创建接口,同时继承两个接口

其中:

分别是: JpaRepository<T,ID>和JpaSpecificationExecutor<T>
  T 与model层对象相对应
  ID跟model层对象Id的类型相对应
  JpaRepository:排序,分页,一些简单的增删改查
  JpaSpecificationExecutor:复杂的动态条件查询

7.新建service serviceImpl controller层,并完成自动注入(通过@Autowired注解)

其中:

serviceImpl类中注入repository

@Autowired
private UserRepository userRepository;

controller层中注入service

@Autowired
private UserService userService;

8.新建controller层之后,先测试一下项目的视图解析器(@RequestMapping) 和springMVC拦截器(主要通过@ResponseBody注解,把返回的结果转换为json格式,给浏览器),然后再进行后续代码的具体编写。

// 测试拦截器
@RequestMapping("test")
@ResponseBody
public String test(){
 return "test";
}

// 测试SpringMVC视图解析器
@RequestMapping("toIndex")
public String toIndex(){
 return "index";
}

9.将项目部署到tomcat下,并运行此项目。

到此这篇关于java中ssj框架的项目搭建流程的文章就介绍到这了,更多相关java ssj框架搭建内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java SSM框架(Spring+SpringMVC+MyBatis)搭建过程

    摘要: 这段时间搭建ssm环境,并测试几个下载的项目demo 安装相关文件: MyEclipse界面: 测试项目简单增删改: ssm+mysql+easyui项目: SSM+MYSQL+EXTJS项目 总结 以上所述是小编给大家介绍的Java SSM框架(Spring+SpringMVC+MyBatis)搭建过程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的.在此也非常感谢大家对我们网站的支持!

  • JAVA中SSM框架的搭建实现CRUD的方法

    最近在开发公司的一个系统,系统的框架是用ssm的框架搭建的,当然和这次写博客的不一样,它拥有很多的配置文件,企业级的开发所需要的配置文件是非常繁琐的,今天记录一下一个简单的SSM框架的搭建和实现一个CRUD的操作. 使用的是Maven插件来配置我们需要的jar包,由于操作不多,所以并没有配置很多,要注意自己使用的jdk的版本,选择不同版本号的jdk <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="

  • java中ssj框架的项目搭建流程

    1.新建一个maven项目 2.在pom.xml中,配置所需的jar包及其版本号 <!-- 设置自定义属性和值 --> <properties> <spring.version>4.1.7.RELEASE</spring.version> <hibernate.version>4.3.11.Final</hibernate.version> </properties> <dependencies> <!-

  • Python之Web框架Django项目搭建全过程

    Python之Web框架Django项目搭建全过程 IDE说明: Win7系统 Python:3.5 Django:1.10 Pymysql:0.7.10 Mysql:5.5 注:可通过pip freeze查看已安装库版本信息. Django 是由 Python 开发的一个免费的开源网站框架,可以用于快速搭建高性能,优雅的网站! Django 特点 强大的数据库功能 用python的类继承,几行代码就可以拥有一个丰富,动态的数据库操作接口(API),如果需要你也能执行SQL语句. 自带的强大的后

  • Java中批处理框架spring batch详细介绍

    spring batch简介 spring batch是spring提供的一个数据处理框架.企业域中的许多应用程序需要批量处理才能在关键任务环境中执行业务操作. 这些业务运营包括: 无需用户交互即可最有效地处理大量信息的自动化,复杂处理. 这些操作通常包括基于时间的事件(例如月末计算,通知或通信). 在非常大的数据集中重复处理复杂业务规则的定期应用(例如,保险利益确定或费率调整). 集成从内部和外部系统接收的信息,这些信息通常需要以事务方式格式化,验证和处理到记录系统中. 批处理用于每天为企业处

  • Go语言框架Beego项目搭建的方法步骤

    1,命令行查看 Go 开发包的环境变量配置信息 命令行说明如下: 第 1 行,执行 go env 指令,将输出当前 Go 开发包的环境变量状态. 第 2 行,GOARCH 表示目标处理器架构. 第 3 行,GOBIN 表示编译器和链接器的安装位置. 第 7 行,GOOS 表示目标操作系统. 第 8 行,GOPATH 表示当前工作目录. 第 10 行,GOROOT 表示 Go 开发包的安装目录. 从命令行输出中,可以看到 GOPATH 设定的路径为:C:\Users\Administrator\g

  • Java中SSM框架实现增删改查功能代码详解

    记录一下自己第一次整合smm框架的步骤. 参考博客和网站有:我没有三颗心脏 How2J学习网站 1.数据库使用的是mySql,首先创建数据库ssm1,并创建表student create database ssm1; use ssm1; CREATE TABLE student( id int(11) NOT NULL AUTO_INCREMENT, student_id int(11) NOT NULL UNIQUE, name varchar(255) NOT NULL, age int(1

  • springCloud项目搭建流程步骤分解

    实现跨服务的远程调用(RestTemplate) 业务场景:在返回订单信息数据中显示用户信息 实现思路:基于RestTemplate发起的http请求实现远程调用 1.注册RestTemplate //在order-service的启动类中注册RestTemplate的Bean @Bean public RestTemplate restTemplate(){ return new RestTemplate(); } 2.改造OrderController 2.1:注入RestTemplate

  • Java中JFinal框架动态切换数据库的方法

    需求:需要根据企业ID切换对应的数据库,同时,后期可动态增加数据库配置 JFinal框架中对于对于多数据源配置有两种方式: 1.通过配置文件配置,有多少数据库就要配置多少,服务启动时加载所有数据库,缺点:不能动态增加数据库 2.只配置一个主数据库信息就可以了,其他数据库信息保存在表中,通过读取表数据加载数据库连接,优点:在数据表中增加数据库配置即可动态增加数据库连接. 本次主要介绍第2种方法: 一.新建数据表:保存数据库连接信息 配置表对应的实体类 public class DbDto { /*

  • Java中如何快速构建项目脚手架的实现

    目录 1 前言 2 微服务项目准备 3 脚手架构建 3.1 项目正常启动 && 测试用例正常 3.2 在项目的根pom中加入以下maven插件配置 3.3 执行archetype插件 3.4 执行安装命令 3.5 将smilehappiness-project-template deploy到私服 4 基于脚手架生成新的项目 4.1 添加脚手架 4.2 创建新项目 4.3 命令行基于脚手架生成新的项目 1 前言 项目中,目前主流的当然是微服务项目.为了应对高并发,以及保证自己的服务比较稳定

  • Java中Spock框架Mock对象的方法经验总结

    目录 一.技术方案 二.非静态资源 三.Mock被测对象 1.@Autowired构造方法 2.@Autowired属性对象,无构造方法 3.PowerMock用法 4.共享对象以及初始化 四.定义对象行为 1.Spock定义Mock对象行为 2.Mockito模拟对象行为 前言: 下面分享一些使用过的一个常用项目,部分信息隐去了.大家在自己项目中实践的时候可以参考,尽量别直接抄代码,我自己使用过程中有很多兼容性的坑,特别是IDE自动import功能. 一.技术方案 本技术方案基于公司力推的Sp

随机推荐