目次
SSM環境構築
web:コントローラを格納Strutsのアクションに相当
logback
2.3.1 spring-core
2.3.2 spring-beans
アプリケーションが基本的な IOC/DI サポートのみを必要とする場合は、spring-core.jar ファイルと spring-beans.jar ファイルを導入するだけです
2.3.3 spring-context
2.3.4 spring-jdbc
一貫性を提供しますJDBC、Hibernate、JDO、JPA などの宣言型およびプログラムによるトランザクション管理
Web アプリケーションの開発時に Spring フレームワークを使用するときに必要なコア クラスが含まれています (WebApplicationContext を自動的にロードする
SpringMVC フレームワークに関連するすべてのクラスが含まれます。より重要なクラスは、dispatcher-servlet
JUNIT などのテスト フレームワークの単純なカプセル化
2.4 データベース関連のjarパッケージを導入します
mybatisの基本クラスライブラリが含まれています
2.4.3 mysql- Connector-java
は、JDBCとMySQL間の対話をサポートします
接続プール
2.5.1 javax.servlet-api
2.5.2 jackson- SpringMVCのControllerがフロントエンドとやり取りする際には、サービスのdatabind
2.5.6 commons-collections
Mapツールクラスを拡張して使用することが多いです。 JAVA collection
を入力します 3. SSM レイヤーごとの構成
はsrc/main/resourcesに保存されます。 /springディレクトリ
3.3.2 spring-service.xml
3.3.3 spring-web.xml
3.4 配置web.xml
ホームページ Java &#&チュートリアル 【Javaチュートリアル】SSM:環境設定

【Javaチュートリアル】SSM:環境設定

Aug 09, 2018 pm 05:13 PM
java maven spring ssm

SSM環境構築

  1. ディレクトリの作成

  2. pom.プロジェクトパッケージの下に、例えば:com.imooc.プロジェクト名)

  3. entity:エンティティクラスを格納

web:コントローラを格納Strutsのアクションに相当

    service: ビジネスロジック層-> 内部 別のパッケージを作成 .impl (例: com.imooc.プロジェクト名.service.impl)
  • dao: 主にデータベースを扱い、ファイル読み込み書き込み操作、Redis キャッシュ操作、その他のデータ関連操作。 mybatis を使用すると、設定ファイルにインターフェイスを実装する方法が resource.mapper、
  • dto にあるため、impl パッケージをビルドする必要はありません。主にエンティティの欠点を補い、レイヤーをカプセル化します
  • enums: 列挙型を格納します。 例:
  • interceptor: インターセプター
  • util: 一般的なツールクラスのストレージ
  • 1.2 src/main/resources
  • mapper: SQL を格納それぞれの方法に対応したDAO では、DAO 実装クラスを記述する必要はありません
  • spring: Spring 構成ファイルを格納します

    1.3 src/test テストを格納します
  • java
  • resources

    po 2. m.xmlの設定
  • jar パッケージはクエリ可能 :http://mvnrepository.com/

  • 2.1 テスト jar パッケージ
  • junit: スコープを指定test

        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.12</version>
          <scope>test</scope>
        </dependency>
    ログイン後にコピー
  • 2.2 ログ jar パッケージ

logback

    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>1.2.3</version>
    </dependency>
ログイン後にコピー
2.3 Spring関連のjarパッケージ

2.3.1 spring-core

Springフレームワークの基本的なコアツールクラス。他の Spring コンポーネントは、このパッケージ内のクラスを使用する必要があります。他のコンポーネント

2.3.2 spring-beans

の基本コアは、構成ファイルへのアクセス、Bean の作成と管理、IOS/DI 操作の実行など、すべてのアプリケーションで使用する必要があります。 . すべての関連クラス。 Java のようなリフレクション メカニズム

アプリケーションが基本的な IOC/DI サポートのみを必要とする場合は、spring-core.jar ファイルと spring-beans.jar ファイルを導入するだけです

2.3.3 spring-context

Spring 用の拡張機能を多数提供しますSpring ApplicationContext の機能、インストルメンテーション コンポーネント、および検証関連クラスを使用するために必要なすべてのクラスを見つけることができます

2.3.4 spring-jdbc

Spring が JDBC データ アクセスをカプセル化するすべてのクラス

2.3.5 spring- tx

一貫性を提供しますJDBC、Hibernate、JDO、JPA などの宣言型およびプログラムによるトランザクション管理

2.3.6 spring-web

Web アプリケーションの開発時に Spring フレームワークを使用するときに必要なコア クラスが含まれています (WebApplicationContext を自動的にロードする

2.3.7) spring-webmvc

SpringMVC フレームワークに関連するすべてのクラスが含まれます。より重要なクラスは、dispatcher-servlet

2.3.8 spring-test

JUNIT などのテスト フレームワークの単純なカプセル化

スコープを指定します: test

2.4 データベース関連のjarパッケージを導入します

2.4.1 mybatis

mybatisの基本クラスライブラリが含まれています

2.4.2 mybatis-spring

Springフレームワークと接続されています

2.4.3 mysql- Connector-java

は、JDBCとMySQL間の対話をサポートします

2.4.4 c3p0

接続プール

2.5 その他のjarパッケージ

2.5.1 javax.servlet-api

はサーブレットを提供します

2.5.2 jackson- SpringMVCのControllerがフロントエンドとやり取りする際には、サービスのdatabind

を使用して、JSONを解析する

2.5.6 commons-collections

Mapツールクラスを拡張して使用することが多いです。 JAVA collection

spring-core.jar には、基本的なクラスサポートを提供するために commons-collections.jar が必要です

2.6 変更が必要な pom.xml の完全な部分

Maven プロジェクトの pom.xml ファイルを作成します

① を記入します先ほどの手順 必要な jar パッケージの依存関係


    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>
    
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>1.2.3</version>
    </dependency>
    
    
    
      org.springframework
      spring-core
      ${spring.version}
    
    
    
      org.springframework
      spring-beans
      ${spring.version}
    
    
    
      org.springframework
      spring-context
      ${spring.version}
    
    
    
      org.springframework
      spring-jdbc
      ${spring.version}
    
    
    
      org.springframework
      spring-tx
      ${spring.version}
    
    
    
      org.springframework
      spring-web
      ${spring.version}
    
    
    
      org.springframework
      spring-webmvc
      ${spring.version}
    
    
    
      org.springframework
      spring-test
      ${spring.version}
      test
    
    
    
      javax.servlet
      javax.servlet-api
      3.1.0
    
    
    
      com.fasterxml.jackson.core
      jackson-databind
      2.8.7
    
    
    
      commons-collections
      commons-collections
      3.2
    
    
    
      org.mybatis
      mybatis
      3.4.2
    
    
      org.mybatis
      mybatis-spring
      1.3.1
    
    
    
      mysql
      mysql-connector-java
      5.1.37
    
    
      c3p0
      c3p0
      0.9.1.2
    
    
    
    
      net.coobird
      thumbnailator
      0.4.8
    
    
    
      com.github.penggle
      kaptcha
      2.3.2
    
    
      commons-fileupload
      commons-fileupload
      1.3.2
    
    
    
      redis.clients
      jedis
      2.9.0
    
  
ログイン後にコピー
の前に spring.version ステートメント
  <properties>
    <spring.version>4.3.7.RELEASE</spring.version>
  </properties>
ログイン後にコピー

を入力します 3. SSM レイヤーごとの構成


jdbc.properties


mybatis -config.xml

spring-dao.xml、spring-service.xml、spring-web.xml

    web.xml
  1. 3.1 jdbc.properties
  2. データベース構成ファイルは、 src/main/resources ディレクトリのファイル 内容は以下の通りです:

    jdbc.driver=com.mysql.jdbc.Driver
    jdbc.url=jdbc:mysql://localhost:3306/{填写项目名}?useUnicode=true&characterEncoding=utf8
    jdbc.username={databases的username}
    jdbc.password={databases的password}
    ログイン後にコピー
  3. アカウント番号とパスワードを平文で一時的に書き込みます。
  4. jdbc は、mysql.jdbc.Driver ドライバーを使用して jdbc.url のアドレスにあるデータベースにアクセスし、ユーザー名とパスワードを使用して MySQL に接続します。

  5. 3.2 mybatis-config.xml
  6. mybatis設定ファイルはsrc/main/resourcesディレクトリに作成されます。ファイルの内容は次のとおりです:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE configuration
      PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
      "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
        <!-- 配置全局属性 -->
        <settings>
            <!-- 使用jdbc的getGeneratedKeys获取数据库自增主键值 -->
            <setting name="useGeneratedKeys" value="true" />
    
            <!-- 使用列标签替换列别名 默认:true -->
            <setting name="useColumnLabel" value="true" />
    
            <!-- 开启驼峰命名转换:Table{create_time} -> Entity{createTime} -->
            <setting name="mapUnderscoreToCamelCase" value="true" />
        </settings>
    </configuration>
    ログイン後にコピー
  7. 3.3 Spring関連の設定

はsrc/main/resourcesに保存されます。 /springディレクトリ

3.3.1 spring-dao.xmlを作成します

jdbd設定ファイルを読み込みます

データベース接続プール設定

データベース接続プールオブジェクトを作成します[内部のパッケージ名の変更に注意してください]

    どの構成が必要か パッケージは DAO レイヤーをスキャンし、自動的に作成された接続プール オブジェクトをそのレイヤーに渡します [内部のパッケージ名の変更に注意してください]
注意包名的填写:我用中文写了的位置,IDE会标红
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context.xsd">
    <!-- 配置整合mybatis过程 -->
    <!-- 1.配置数据库相关参数properties的属性:${url} -->
    <context:property-placeholder location="classpath:jdbc.properties"/>
    <!-- 2.数据库连接池 -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <!-- 配置连接池属性 -->
        <property name="driverClass" value="${jdbc.driver}" />
        <property name="jdbcUrl" value="${jdbc.url}" />
        <property name="user" value="${jdbc.username}" />
        <property name="password" value="${jdbc.password}" />
        <!-- c3p0连接池的私有属性 -->
        <property name="maxPoolSize" value="30" />
        <property name="minPoolSize" value="10" />
        <!-- 关闭连接后不自动commit -->
        <property name="autoCommitOnClose" value="false" />
        <!-- 获取连接超时时间 -->
        <property name="checkoutTimeout" value="10000" />
        <!-- 当获取连接失败重试次数 -->
        <property name="acquireRetryAttempts" value="2" />
    </bean>

    <!-- 3.配置SqlSessionFactory对象 -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- 注入数据库连接池 -->
        <property name="dataSource" ref="dataSource" />
        <!-- 配置MyBaties全局配置文件:mybatis-config.xml -->
        <property name="configLocation" value="classpath:mybatis-config.xml" />
        <!-- 扫描entity包 使用别名 -->
        <property name="typeAliasesPackage" value="{实体类包所在的位置}" />
        <!-- 扫描sql配置文件:mapper需要的xml文件 -->
        <property name="mapperLocations" value="classpath:mapper/*.xml" />
    </bean>

    <!-- 4.配置扫描Dao接口包,动态实现Dao接口,注入到spring容器中 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <!-- 注入sqlSessionFactory -->
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
        <!-- 给出需要扫描Dao接口包 -->
        <property name="basePackage" value="{找到需要填写的dao包}" />
    </bean>
</beans>
ログイン後にコピー

3.3.2 spring-service.xml

  1. 扫描Service包下所有使用注释的类型 [注意填写包名]

  2. 配置事务管理器:多个DAO的协同操作,保证操作的原子性

  3. 配置基于注解的声明式事务

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context.xsd
    http://www.springframework.org/schema/tx
    http://www.springframework.org/schema/tx/spring-tx.xsd">
    <!-- 扫描service包下所有使用注解的类型 -->
    <context:component-scan base-package="{service包所在的目录,如com.cat.o2o.service}" />

    <!-- 配置事务管理器 -->
    <bean id="transactionManager"
          class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <!-- 注入数据库连接池 -->
        <property name="dataSource" ref="dataSource" />
    </bean>

    <!-- 配置基于注解的声明式事务 -->
    <tx:annotation-driven transaction-manager="transactionManager" />
</beans>
ログイン後にコピー

3.3.3 spring-web.xml

  • 开启Spring注解模式,自动实现Controller,不用做bean的配置

  • 静态资源默认servlet配置,需要在webapp下创建resource目录,图片等静态资源存放位置

  • 视图解析器配置

  • 扫描controller所在的包[需要填写你的controller所在的包]

文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context.xsd
    http://www.springframework.org/schema/mvc
    http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">
    <!-- 配置SpringMVC -->
    <!-- 1.开启SpringMVC注解模式 -->
    <mvc:annotation-driven />

    <!-- 2.静态资源默认servlet配置 (1)加入对静态资源的处理:js,gif,png (2)允许使用"/"做整体映射 告知SpringMVC的核心类dispatcher-servlet不要对此拦截,交由默认的servlet-handler处理-->
    <mvc:resources mapping="/resources/**" location="/resources/" />
    <mvc:default-servlet-handler />

    <!-- 3.定义视图解析器 -->
    <bean id="viewResolver"
          class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/html/"></property>
        <property name="suffix" value=".html"></property>
    </bean>

    <!-- 4.扫描web(放置controller的包)相关的bean -->
    <context:component-scan base-package="需要修改的地方" />

</beans>
ログイン後にコピー

3.4 配置web.xml

  • 配置index文件,暂时默认即可

  • 配置SpringMVC的Servlet,注意填写初始参数(指定目录)

  • 配置Servlet-mapping,默认匹配所有的请求(url-pattern填写/即可)

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1" metadata-complete="true">
  <display-name>Archetype Created Web Application</display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <servlet-name>spring-dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:spring/spring-*.xml</param-value>
    </init-param>
  </servlet>
  <servlet-mapping>
    <servlet-name>spring-dispatcher</servlet-name>
    <!-- 默认匹配所有的请求 -->
    <url-pattern>/</url-pattern>
  </servlet-mapping>
</web-app>
ログイン後にコピー

相关推荐:

JavaWeb环境搭建

PHP环境搭建要点

以上が【Javaチュートリアル】SSM:環境設定の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Javaの平方根 Javaの平方根 Aug 30, 2024 pm 04:26 PM

Java の平方根のガイド。ここでは、Java で平方根がどのように機能するかを、例とそのコード実装をそれぞれ示して説明します。

Javaの完全数 Javaの完全数 Aug 30, 2024 pm 04:28 PM

Java における完全数のガイド。ここでは、定義、Java で完全数を確認する方法、コード実装の例について説明します。

Java の乱数ジェネレーター Java の乱数ジェネレーター Aug 30, 2024 pm 04:27 PM

Java の乱数ジェネレーターのガイド。ここでは、Java の関数について例を挙げて説明し、2 つの異なるジェネレーターについて例を挙げて説明します。

ジャワのウェカ ジャワのウェカ Aug 30, 2024 pm 04:28 PM

Java の Weka へのガイド。ここでは、weka java の概要、使い方、プラットフォームの種類、利点について例を交えて説明します。

Javaのスミス番号 Javaのスミス番号 Aug 30, 2024 pm 04:28 PM

Java のスミス番号のガイド。ここでは定義、Java でスミス番号を確認する方法について説明します。コード実装の例。

Java Springのインタビューの質問 Java Springのインタビューの質問 Aug 30, 2024 pm 04:29 PM

この記事では、Java Spring の面接で最もよく聞かれる質問とその詳細な回答をまとめました。面接を突破できるように。

Java 8 Stream Foreachから休憩または戻ってきますか? Java 8 Stream Foreachから休憩または戻ってきますか? Feb 07, 2025 pm 12:09 PM

Java 8は、Stream APIを導入し、データ収集を処理する強力で表現力のある方法を提供します。ただし、ストリームを使用する際の一般的な質問は次のとおりです。 従来のループにより、早期の中断やリターンが可能になりますが、StreamのForeachメソッドはこの方法を直接サポートしていません。この記事では、理由を説明し、ストリーム処理システムに早期終了を実装するための代替方法を調査します。 さらに読み取り:JavaストリームAPIの改善 ストリームを理解してください Foreachメソッドは、ストリーム内の各要素で1つの操作を実行する端末操作です。その設計意図はです

Java での日付までのタイムスタンプ Java での日付までのタイムスタンプ Aug 30, 2024 pm 04:28 PM

Java での日付までのタイムスタンプに関するガイド。ここでは、Java でタイムスタンプを日付に変換する方法とその概要について、例とともに説明します。

See all articles