Heim  >  Artikel  >  Java  >  [Java-Tutorial] SSM: Umgebungseinrichtung

[Java-Tutorial] SSM: Umgebungseinrichtung

php是最好的语言
php是最好的语言Original
2018-08-09 17:13:512265Durchsuche

SSM-Umgebungseinrichtung

  1. Verzeichniserstellung

  2. pom.xml

  3. SSM-Ebene nach Layer-Konfiguration

1. Verzeichnis

1.1 Pakete im Verzeichnis src/main/java (die folgenden Pakete sollten unter dem Projektpaket abgelegt werden, z. B.: com. imooc. Projektname)

  • Entität: speichert Entitätsklassen

  • Web: speichert Controller, äquivalent zur Aktion in Struts

  • Service: Geschäftslogikschicht-> Erstellen Sie intern ein Paket .impl (z. B. com.imooc.project name.service.impl)

  • dao: hauptsächlich Deals mit der Datenbank, Lese- und Schreibvorgängen für Dateien, Redis-Cache-Vorgängen und anderen datenbezogenen Vorgängen. Es ist nicht erforderlich, das Impl-Paket zu erstellen, da mit mybatis die Schnittstelle in der Konfigurationsdatei in resources.mapper implementiert wird.

  • dto: hauptsächlich, um dies auszugleichen Mängel der Entität, Kapselung einer Schicht

  • enums: speichert Aufzählungen

  • Interceptor: Interceptor

  • util: allgemeines Werkzeug Klassenspeicher

1.2 src/main/resources

  • Mapper: speichert das SQL, das jeder Methode in DAO entspricht, ohne Ich muss die Implementierung der DAO-Klasse schreiben

  • spring: speichert Spring-Konfigurationsdateien

1.3 src/test speichert Tests

  • Java

  • Ressourcen

2. pom.xml-Konfiguration

JAR-Paket kann abgefragt werden: http://mvnrepository.com /

2.1 JAR-Paket testen

junit: Scope angeben06db57cb000bdd2564c5b32a302b10e2test03b1008234ba0cf6ad3c873aea327e8a

    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>

2.2 JAR-Paket protokollieren

logback

    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>1.2.3</version>
    </dependency>

2.3 Spring-bezogenes Jar-Paket

2.3.1 Spring-Core

Die grundlegende Kernwerkzeugklasse des Spring-Frameworks. Andere Spring-Komponenten müssen die Klassen in diesem Paket verwenden.

2.3.2 Spring-Beans

müssen von allen Anwendungen verwendet werden, einschließlich des Zugriffs auf Konfigurationsdateien sowie der Erstellung und Verwaltung Beans und alle Klassen im Zusammenhang mit IOS/DI-Operationen. Java-ähnlicher Reflexionsmechanismus

Wenn die Anwendung nur grundlegende IOC/DI-Unterstützung benötigt, führen Sie einfach die Dateien spring-core.jar und spring-beans.jar ein

2.3.3 Spring-Context

Bietet eine große Anzahl von Erweiterungen für Spring. Sie finden alle Klassen, die zur Verwendung von Spring ApplicationContext-Funktionen, Instrumentierungskomponenten und zugehörigen Klassen zur Überprüfung erforderlich sind

2.3.4 spring-jdbc

Alle Klassen, in denen Spring den JDBC-Datenzugriff kapselt

2.3.5 spring-tx

Bietet konsistentes deklaratives und programmatisches Transaktionsmanagement für JDBC, Hibernate, JDO, JPA usw.

2.3.6 spring-web

Enthält die Kernklassen, die für die Verwendung des Spring-Frameworks bei der Entwicklung von Webanwendungen erforderlich sind, einschließlich des automatischen Ladens von WebApplicationContext

2.3.7 spring -webmvc

enthält alle Klassen, die sich auf das SpringMVC-Framework beziehen, die wichtigere Klasse ist „dispatcher-servlet“

2.3.8 spring-test

ist einfach zum Testen von Frameworks wie JUNIT Encapsulate

um den Geltungsbereich anzugeben: 06db57cb000bdd2564c5b32a302b10e2test03b1008234ba0cf6ad3c873aea327e8a

2.4 Einführung datenbankbezogener JAR-Pakete

2.4.1 mybatis

enthält die Basisklassenbibliothek von Mybatis

2.4.2 mybatis-spring

verbunden mit Spring Framework

2.4.3 mysql-connector-java

Unterstützt JDBC-Interaktion mit MySQL

2.4.4 c3p0

Verbindungspool

2.5 Andere JAR-Pakete

2.5.1 javax.servlet-api

Servlet-Service bereitstellen

2.5.2 jackson-databind

wird zum Parsen von JSON verwendet

Es wird in vielen Fällen verwendet, wenn der Controller in SpringMVC mit dem Front-End interagiert

2.5.6 commons-collections

Map-Tool-Klasse, Erweiterung zur JAVA-Sammlung
spring-core.jar erfordert commons-collections.jar, um grundlegende Klassenunterstützung bereitzustellen

2.6 Komplette Teile von pom.xml, die geändert werden müssen

Erstellen Sie die pom.xml-Datei des Maven-Projekts
① Füllen Sie die erforderlichen JAR-Paketabhängigkeiten aus, die gerade erklärt wurden


    <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
    
  

② Füllen Sie die aus spring.version-Anweisung

  <properties>
    <spring.version>4.3.7.RELEASE</spring.version>
  </properties>
wird vor fce2022be5e87c17c94245fd7ccbf1d9 platziert. 3. SSM-Schicht-für-Schicht-Konfiguration

    jdbc.properties
  1. mybatis-config.xml
  2. spring-dao.xml, spring-service.xml, spring-web.xml
  3. web.xml
  4. 3.1 jdbc.properties

Die Datenbankkonfigurationsdatei wird im Verzeichnis src/main/resources erstellt. Der Dateiinhalt ist wie folgt:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/{填写项目名}?useUnicode=true&characterEncoding=utf8
jdbc.username={databases的username}
jdbc.password={databases的password}

Schreiben Sie die Kontonummer und das Passwort vorerst im Klartext.

jdbc verwendet den Treiber mysql.jdbc.Driver, um auf die Datenbank unter der Adresse jdbc.url zuzugreifen, und verwendet Benutzernamen und Passwort, um eine Verbindung zu MySQL herzustellen.

3.2 mybatis-config.xml

Die mybatis-Konfigurationsdatei wird im Verzeichnis src/main/resources erstellt. Der Dateiinhalt lautet wie folgt:

<?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>

3.3 Spring bezogen Konfiguration

Gespeichert im Verzeichnis src/main/resources/spring

3.3.1 Erstellen Sie spring-dao.xml

    Lesen Sie die JDBD-Konfigurationsdatei
  1. Konfiguration des Datenbankverbindungspools
  2. Datenbankverbindungspoolobjekt erstellen [beachten Sie die Änderung des Paketnamens im Inneren]
  3. Konfiguration erforderlich. Welches Paket soll die DAO-Schicht scannen und das automatisch erstellte Verbindungspoolobjekt übergeben [beachten Sie die Änderung des Paketnamens]
注意包名的填写:我用中文写了的位置,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环境搭建要点

Das obige ist der detaillierte Inhalt von[Java-Tutorial] SSM: Umgebungseinrichtung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn