Table des matières
Configuration de l'environnement SSM
1. Répertoire
1.1 Packages dans le répertoire src/main/java (les packages suivants doivent être placés sous le package du projet, tels que : com. imooc. nom du projet)
1.2 src/main/resources
1.3 src/test stocke les tests
2. La configuration pom.xml
2.1 Package jar de test
2.2 Package Jar jar
2.3 Packages jar liés à Spring
2.3.1 spring-core
2.3.2 spring-beans
2.3.3 spring-context
2.3.4 spring-jdbc
2.3.5 spring-tx
2.3.6 spring-web
2.3.7 spring -webmvc
2.3.8 spring-test
2.4 Introduction des packages jar liés à la base de données
2.4.1 mybatis
2.4.2 mybatis-spring
2.4.3 mysql-connector-java
2.4.4 c3p0
2.5 Autres packages jar
2.5.1 javax.servlet-api
2.5.2 jackson-databind
3.3.2 spring-service.xml
3.3.3 spring-web.xml
3.4 配置web.xml
Maison Java javaDidacticiel [Tutoriel Java] SSM : configuration de l'environnement

[Tutoriel Java] SSM : configuration de l'environnement

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

Configuration de l'environnement SSM

  1. Création du répertoire

  2. pom.xml

  3. Couche SSM par Configuration de la couche

1. Répertoire

1.1 Packages dans le répertoire src/main/java (les packages suivants doivent être placés sous le package du projet, tels que : com. imooc. nom du projet)

  • entité : stocke les classes d'entité

  • web : stocke le contrôleur, équivalent à l'action dans Struts

  • service : couche de logique métier-> Créer un package .impl en interne (ex : com.imooc.project name.service.impl)

  • dao : principalement des deals avec la base de données, les opérations de lecture et d'écriture de fichiers, les opérations de cache Redis et d'autres opérations liées aux données. Il n'est pas nécessaire de construire dans le package impl, car en utilisant mybatis, la façon d'implémenter l'interface dans le fichier de configuration se trouve dans resources.mapper,

  • dto : principalement pour compenser les défauts de l'entité et encapsuler une couche

  • énumérations : stocke les énumérations

  • intercepteur : intercepteur

  • util : outil général Class storage

1.2 src/main/resources

  • mapper : stocke le SQL correspondant à chaque méthode dans DAO, sans devoir écrire l'implémentation de la classe DAO

  • spring : stocke les fichiers de configuration Spring

1.3 src/test stocke les tests

  • java

  • ressources

2. La configuration pom.xml

le package jar peut être interrogé : http://mvnrepository.com /

2.1 Package jar de test

junit : Spécifier la portéetest

    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>
Copier après la connexion

2.2 Package Jar jar

logback

    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>1.2.3</version>
    </dependency>
Copier après la connexion

2.3 Packages jar liés à Spring

2.3.1 spring-core

La classe d'outils de base de base du framework Spring. Les autres composants Spring doivent utiliser les classes de ce package. Le noyau de base des autres composants

2.3.2 spring-beans

doit être utilisé par toutes les applications, y compris l'accès aux fichiers de configuration, la création et la gestion. beans et toutes les classes liées aux opérations IOS/DI. Mécanisme de réflexion de type Java

Si l'application n'a besoin que d'un support de base IOC/DI, introduisez simplement les fichiers spring-core.jar et spring-beans.jar

2.3.3 spring-context

Fournit un grand nombre d'extensions pour Spring Vous pouvez trouver toutes les classes requises pour utiliser les fonctionnalités Spring ApplicationContext, les composants d'instrumentation et les classes associées pour la vérification

2.3.4 spring-jdbc

Toutes les classes que Spring encapsule l'accès aux données JDBC

2.3.5 spring-tx

Fournit une gestion cohérente des transactions déclaratives et programmatiques pour JDBC, Hibernate, JDO, JPA, etc.

2.3.6 spring-web

Contient les classes de base requises lors de l'utilisation du framework Spring lors du développement d'applications Web, y compris le chargement automatique de WebApplicationContext

2.3.7 spring -webmvc

contient toutes les classes liées au framework SpringMVC, la classe la plus importante est dispatcher-servlet

2.3.8 spring-test

est simple pour tester des frameworks tels que JUNIT Encapsulate

pour spécifier la portée : test

2.4 Introduction des packages jar liés à la base de données

2.4.1 mybatis

contient la bibliothèque de classes de base Mybatis

2.4.2 mybatis-spring

connecté au framework Spring

2.4.3 mysql-connector-java

Prise en charge de l'interaction JDBC avec MySQL

2.4.4 c3p0

Pool de connexions

2.5 Autres packages jar

2.5.1 javax.servlet-api

Fournir un service de servlet

2.5.2 jackson-databind

est utilisé pour analyser JSON

Il est utilisé dans de nombreux cas lorsque le contrôleur de SpringMVC interagit avec l'analyse frontale JSON<🎜. >
2.5.6 commons-collections

Classe d'outils cartographiques, extension de la collection JAVA

spring-core.jar nécessite commons-collections.jar pour fournir une prise en charge de base des classes

2.6 Les parties complètes de pom.xml qui doivent être modifiées

Créez le fichier pom.xml du projet maven

① Remplissez les dépendances requises du package jar qui viennent d'être expliquées


    <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
    
  
Copier après la connexion
② Remplissez l'instruction spring.version

  <properties>
    <spring.version>4.3.7.RELEASE</spring.version>
  </properties>
Copier après la connexion
avant
3. Configuration SSM couche par couche

  1. jdbc .properties

  2. mybatis-config.xml

  3. spring-dao.xml, spring-service.xml, spring-web.xml

  4. web.xml

3.1 jdbc.properties

Le fichier de configuration de la base de données est créé dans le répertoire src/main/resources, et le contenu du fichier est le suivant :

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/{填写项目名}?useUnicode=true&characterEncoding=utf8
jdbc.username={databases的username}
jdbc.password={databases的password}
Copier après la connexion
Écrivez temporairement le numéro de compte et le mot de passe en texte brut.

jdbc utilisera le pilote mysql.jdbc.Driver pour accéder à la base de données à l'adresse jdbc.url, et utilisera le nom d'utilisateur et le mot de passe pour se connecter à MySQL.

3.2 mybatis-config.xml

Le fichier de configuration mybatis est créé dans le répertoire src/main/resources Le contenu du fichier est le suivant :

<?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>
Copier après la connexion
3.3. Configuration liée à Spring

Stocker dans le répertoire src/main/resources/spring

3.3.1 Créer spring-dao.xml

  1. Lire le jdbd fichier de configuration

  2. Configuration du pool de connexions à la base de données

  3. Créer un objet pool de connexions à la base de données [notez la modification du nom du package à l'intérieur]

  4. Configurez quel package doit être analysé pour la couche DAO et transmettez-y l'objet qui crée automatiquement le pool de connexions [notez la modification du nom du package]

注意包名的填写:我用中文写了的位置,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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

相关推荐:

JavaWeb环境搭建

PHP环境搭建要点

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Racine carrée en Java Racine carrée en Java Aug 30, 2024 pm 04:26 PM

Guide de la racine carrée en Java. Nous discutons ici du fonctionnement de Square Root en Java avec un exemple et son implémentation de code respectivement.

Nombre parfait en Java Nombre parfait en Java Aug 30, 2024 pm 04:28 PM

Guide du nombre parfait en Java. Nous discutons ici de la définition, comment vérifier le nombre parfait en Java ?, des exemples d'implémentation de code.

Générateur de nombres aléatoires en Java Générateur de nombres aléatoires en Java Aug 30, 2024 pm 04:27 PM

Guide du générateur de nombres aléatoires en Java. Nous discutons ici des fonctions en Java avec des exemples et de deux générateurs différents avec d'autres exemples.

Weka en Java Weka en Java Aug 30, 2024 pm 04:28 PM

Guide de Weka en Java. Nous discutons ici de l'introduction, de la façon d'utiliser Weka Java, du type de plate-forme et des avantages avec des exemples.

Numéro de Smith en Java Numéro de Smith en Java Aug 30, 2024 pm 04:28 PM

Guide du nombre de Smith en Java. Nous discutons ici de la définition, comment vérifier le numéro Smith en Java ? exemple avec implémentation de code.

Questions d'entretien chez Java Spring Questions d'entretien chez Java Spring Aug 30, 2024 pm 04:29 PM

Dans cet article, nous avons conservé les questions d'entretien Java Spring les plus posées avec leurs réponses détaillées. Pour que vous puissiez réussir l'interview.

Break or Return of Java 8 Stream Forach? Break or Return of Java 8 Stream Forach? Feb 07, 2025 pm 12:09 PM

Java 8 présente l'API Stream, fournissant un moyen puissant et expressif de traiter les collections de données. Cependant, une question courante lors de l'utilisation du flux est: comment se casser ou revenir d'une opération FOREAK? Les boucles traditionnelles permettent une interruption ou un retour précoce, mais la méthode Foreach de Stream ne prend pas directement en charge cette méthode. Cet article expliquera les raisons et explorera des méthodes alternatives pour la mise en œuvre de terminaison prématurée dans les systèmes de traitement de flux. Lire plus approfondie: Améliorations de l'API Java Stream Comprendre le flux Forach La méthode foreach est une opération terminale qui effectue une opération sur chaque élément du flux. Son intention de conception est

Horodatage à ce jour en Java Horodatage à ce jour en Java Aug 30, 2024 pm 04:28 PM

Guide de TimeStamp to Date en Java. Ici, nous discutons également de l'introduction et de la façon de convertir l'horodatage en date en Java avec des exemples.

See all articles