ホームページ  >  記事  >  Java  >  【Javaチュートリアル】SSM:環境設定

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

php是最好的语言
php是最好的语言オリジナル
2018-08-09 17:13:512280ブラウズ

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: スコープを指定06db57cb000bdd2564c5b32a302b10e2test03b1008234ba0cf6ad3c873aea327e8a

        <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 などのテスト フレームワークの単純なカプセル化

スコープを指定します: 06db57cb000bdd2564c5b32a302b10e2 test03b1008234ba0cf6ad3c873aea327e8a

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 までご連絡ください。