最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2020年05月25日 10:38:02   作者:易木欽歌  
這篇文章主要介紹了java中ssj框架的項目搭建流程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1.新建一個maven項目

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

  <!-- 設(shè)置自定義屬性和值 -->
 <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相關(guān)依賴 -->
  <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數(shù)據(jù)庫的驅(qū)動包 -->
  <dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
   <version>5.1.6</version>
  </dependency>
  
  <!-- c3p0數(shù)據(jù)庫連接池 -->
  <!-- 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整合相關(guān)依賴 -->
  <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 加密相關(guān)依賴 -->
  <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>
  
 <!-- 發(fā)送郵件 --> 
 <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的監(jiān)聽
 C. 配置SpringMVC的核心控制器
 D. 配置編碼過濾器,作用:防止中文亂碼
 E. 配置驗證碼相關(guān)servlet(有需要的話)

代碼如下:

<!-- 加載Spring配置文件 -->
 <context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath:applicationContext.xml</param-value>
 </context-param>
 
 <!--配置Spring的監(jiān)聽-->
 <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>
 
 <!-- 配置驗證碼相關(guān)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文件夾下,創(chuàng)建并配置applicationContext.xml和springMVC.xml文件

applicationContext.xml中詳細(xì)配置:
A. 創(chuàng)建數(shù)據(jù)源:創(chuàng)建c3p0連接池,連接數(shù)據(jù)庫
B. 根據(jù)數(shù)據(jù)源,創(chuàng)建實體管理工廠
C. 配置事務(wù)
D. SpringDataJpa的相關(guān)配置 
E. 開啟組件的掃描
F. 定義advice,配置傳播特性、事務(wù)隔離級別、只讀事務(wù)、回滾策略
G. 切點配置 execution   

springMVC.xml
A. 開啟注解
B. 放開靜態(tài)資源
C. 配置視圖解析器
D. 上傳文件相關(guān)配置
E. 注冊攔截器

5.新建model層,在實體類中,通過注解的方式來配置數(shù)據(jù)庫中表的信息

@Entity 表明這是一個實體類
@Table(name = "")在數(shù)據(jù)庫中生成對應(yīng)的表名
@Id聲明主鍵
@GeneratedValue設(shè)置主鍵生成策略
 GenerationType.IDENTITY  mySql主鍵生成策略
 GenerationType.SEQUENCE  oracle主鍵生成策略
 GenerationType.AUTO  根據(jù)不同的數(shù)據(jù)庫,設(shè)置對應(yīng)的主鍵生成策略

6.新建repository層,并創(chuàng)建接口,同時繼承兩個接口

其中:

 分別是: JpaRepository<T,ID>和JpaSpecificationExecutor<T>
  T 與model層對象相對應(yīng)
  ID跟model層對象Id的類型相對應(yīng)
  JpaRepository:排序,分頁,一些簡單的增刪改查
  JpaSpecificationExecutor:復(fù)雜的動態(tài)條件查詢

7.新建service serviceImpl controller層,并完成自動注入(通過@Autowired注解)

其中:

serviceImpl類中注入repository

@Autowired
private UserRepository userRepository;

controller層中注入service

@Autowired
private UserService userService;

8.新建controller層之后,先測試一下項目的視圖解析器(@RequestMapping) 和springMVC攔截器(主要通過@ResponseBody注解,把返回的結(jié)果轉(zhuǎn)換為json格式,給瀏覽器),然后再進(jìn)行后續(xù)代碼的具體編寫。

// 測試攔截器
@RequestMapping("test") 
@ResponseBody
public String test(){
 return "test";
}

// 測試SpringMVC視圖解析器
@RequestMapping("toIndex")
public String toIndex(){
 return "index";
}

9.將項目部署到tomcat下,并運行此項目。

到此這篇關(guān)于java中ssj框架的項目搭建流程的文章就介紹到這了,更多相關(guān)java ssj框架搭建內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于CopyOnWriteArrayList并發(fā)容器(實例講解)

    基于CopyOnWriteArrayList并發(fā)容器(實例講解)

    下面小編就為大家?guī)硪黄贑opyOnWriteArrayList并發(fā)容器(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • maven多moudle項目在idea里面顯示多個root問題及解決

    maven多moudle項目在idea里面顯示多個root問題及解決

    這篇文章主要介紹了maven多moudle項目在idea里面顯示多個root問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 從JVM分析Java的類的加載和卸載機(jī)制

    從JVM分析Java的類的加載和卸載機(jī)制

    這篇文章主要介紹了從JVM分析Java的類的加載和卸載機(jī)制,講解了Java類的聲明周期,需要的朋友可以參考下
    2015-11-11
  • java的equals和==的比較示例

    java的equals和==的比較示例

    這篇文章主要介紹了java的equals和==的比較示例,需要的朋友可以參考下
    2014-04-04
  • 詳解Java分布式IP限流和防止惡意IP攻擊方案

    詳解Java分布式IP限流和防止惡意IP攻擊方案

    這篇文章主要介紹了詳解Java分布式IP限流和防止惡意IP攻擊方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Mybatis插入Oracle數(shù)據(jù)庫日期型數(shù)據(jù)過程解析

    Mybatis插入Oracle數(shù)據(jù)庫日期型數(shù)據(jù)過程解析

    這篇文章主要介紹了Mybatis插入Oracle數(shù)據(jù)庫日期型數(shù)據(jù)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • java實現(xiàn)同態(tài)加密算法的實例代碼

    java實現(xiàn)同態(tài)加密算法的實例代碼

    這篇文章主要給大家介紹了關(guān)于java實現(xiàn)同態(tài)加密算法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 徹底搞明白Spring中的自動裝配和Autowired注解的使用

    徹底搞明白Spring中的自動裝配和Autowired注解的使用

    這篇文章主要介紹了徹底搞明白Spring中的自動裝配和Autowired注解的使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03
  • Java中常見死鎖與活鎖的實例詳解

    Java中常見死鎖與活鎖的實例詳解

    這篇文章主要介紹了Java中常見死鎖與活鎖的實例詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • Spring解密之XML解析與Bean注冊示例詳解

    Spring解密之XML解析與Bean注冊示例詳解

    這篇文章主要給大家介紹了關(guān)于Spring解密之XML解析與Bean注冊的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-01-01

最新評論

颍上县| 昂仁县| 清流县| 游戏| 邹城市| 沂南县| 吉木萨尔县| 汉沽区| 淮安市| 延吉市| 浠水县| 焉耆| 成都市| 合阳县| 兰西县| 奉贤区| 鹤山市| 阿坝| 安庆市| 霍山县| 长岭县| 策勒县| 建昌县| 乌鲁木齐县| 邮箱| 红原县| 东阿县| 济源市| 宾川县| 河北省| 子洲县| 临沧市| 江孜县| 水城县| 永安市| 乐都县| 庆城县| 天祝| 佛教| 东乡| 崇义县|