検索
ホームページJava&#&チュートリアル【Javaチュートリアル】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 までご連絡ください。
JVMは、さまざまなプラットフォームでガベージコレクションをどのように管理していますか?JVMは、さまざまなプラットフォームでガベージコレクションをどのように管理していますか?Apr 28, 2025 am 12:23 AM

jvmmanagesgarbagecollectionacrossplatformseftivivivivitybyusagenerationalaphadadadaptingtosandhardwaredefferences.itemployscollectorslikeserial、parallel、cms、andg1、各sutitedfordifferentscenarios

なぜJavaコードは変更せずに異なるオペレーティングシステムで実行できるのですか?なぜJavaコードは変更せずに異なるオペレーティングシステムで実行できるのですか?Apr 28, 2025 am 12:14 AM

Javaは、Javaの「Write and Averywherewhere」という哲学がJava Virtual Machine(JVM)によって実装されているため、変更なしで異なるオペレーティングシステムで実行できます。コンパイルされたJavaバイトコードとオペレーティングシステムの間の仲介者として、JVMはバイトコードを特定のマシン命令に変換し、JVMがインストールされた任意のプラットフォームでプログラムが独立して実行できることを確認します。

Javaプログラムをコンパイルして実行するプロセスを説明し、プラットフォームの独立性を強調します。Javaプログラムをコンパイルして実行するプロセスを説明し、プラットフォームの独立性を強調します。Apr 28, 2025 am 12:08 AM

Javaプログラムの編集と実行は、BytecodeとJVMを通じ​​てプラットフォームの独立性を達成します。 1)Javaソースコードを書き、それをbytecodeにコンパイルします。 2)JVMを使用して、任意のプラットフォームでByteCodeを実行して、コードがプラットフォーム間で実行されるようにします。

基礎となるハードウェアアーキテクチャは、Javaのパフォーマンスにどのように影響しますか?基礎となるハードウェアアーキテクチャは、Javaのパフォーマンスにどのように影響しますか?Apr 28, 2025 am 12:05 AM

Javaのパフォーマンスはハードウェアアーキテクチャと密接に関連しており、この関係を理解することでプログラミング機能を大幅に改善できます。 1)JVMは、CPUアーキテクチャの影響を受けるJITコンピレーションを介して、Java Bytecodeを機械命令に変換します。 2)メモリ管理とゴミ収集は、RAMとメモリバスの速度の影響を受けます。 3)キャッシュとブランチ予測Javaコードの実行を最適化します。 4)マルチスレッドと並列処理がマルチコアシステムのパフォーマンスを改善します。

ネイティブライブラリがJavaのプラットフォームの独立性を破ることができる理由を説明してください。ネイティブライブラリがJavaのプラットフォームの独立性を破ることができる理由を説明してください。Apr 28, 2025 am 12:02 AM

ネイティブライブラリを使用すると、これらのライブラリはオペレーティングシステムごとに個別にコンパイルする必要があるため、Javaのプラットフォームの独立性が破壊されます。 1)ネイティブライブラリはJNIを介してJavaと対話し、Javaが直接実装できない機能を提供します。 2)ネイティブライブラリを使用すると、プロジェクトの複雑さが増し、さまざまなプラットフォームのライブラリファイルの管理が必要です。 3)ネイティブライブラリはパフォーマンスを改善できますが、それらは注意して使用し、クロスプラットフォームテストを実施する必要があります。

JVMはオペレーティングシステムAPIの違いをどのように処理しますか?JVMはオペレーティングシステムAPIの違いをどのように処理しますか?Apr 27, 2025 am 12:18 AM

JVMは、JavanativeInterface(JNI)およびJava Standard Libraryを介してオペレーティングシステムのAPIの違いを処理します。1。JNIでは、Javaコードがローカルコードを呼び出し、オペレーティングシステムAPIと直接対話できます。 2. Java Standard Libraryは統一されたAPIを提供します。これは、異なるオペレーティングシステムAPIに内部的にマッピングされ、コードがプラットフォーム間で実行されるようにします。

Java 9で導入されたモジュール性は、プラットフォームの独立性にどのように影響しますか?Java 9で導入されたモジュール性は、プラットフォームの独立性にどのように影響しますか?Apr 27, 2025 am 12:15 AM

modularitydoesnotdirectlyectlyectjava'splatformindepensence.java'splatformendepenceismaindainededainededainededaindainedaindained bythejvm、butmodularityinfluencesApplucationStructure andmanagement、間接的なインパクチャプラット形成依存性.1)

ByteCodeとは何ですか?また、Javaのプラットフォームの独立性とどのように関係していますか?ByteCodeとは何ですか?また、Javaのプラットフォームの独立性とどのように関係していますか?Apr 27, 2025 am 12:06 AM

bytecodeinjavaisthe intermediaterepresentationthateNablesplatformindepence.1)javacodeis compiledintobytecodestoredin.classfiles.2)thejvminterpretsorcompilesthisbytecodeintomachinecodeatime、

See all articles

ホット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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

メモ帳++7.3.1

メモ帳++7.3.1

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

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター