Lassen Sie uns kurz über das SSM -Projekt von Maven bauen (die Verwendung von Datenbank Oracle ist etwas mehr problematisch als MySQL. Lassen Sie uns hier darüber sprechen).
Beim Erstellen von Maven -Webprojekten fehlen zwei Ordner: Main/Java und Main/Test.
Lösung:
①: Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie Eigenschaften aus. Klicken Sie dann auf den Java-Build-Pfad unter Bibliotheken, bearbeiten Sie die JRE-Systembibliothek und wählen Sie den Arbeitsbereich Standard JRE. (Dies wird empfohlen)
②: Erstellen Sie manuell ein Verzeichnis. Die Switch -Ansicht verwendet die Navigatoransicht und erstellt direkt ein Java -Verzeichnis im SRC/Hauptverzeichnis.
Projektverzeichnisstruktur:
Wichtige Konfigurationsdateien:
Objektmodellkonfigurationsdatei: pom.xml
Konfigurationsdatei von Spring: applicationContext.xml
Spring MVC -Konfigurationsdatei: SpringMvc.xml
Datenbankkonfigurationsdatei: jdbc.properties
Protokollkonfigurationsdatei: log4j.properties
MyBatis-Konfigurationsdatei: mybatis-config.xml
Konfigurationsdatei für Netzwerkprogramme: web.xml
Konfigurieren Sie zuerst pom.xml
pom.xml beschreibt hauptsächlich die Maven -Koordinaten, Abhängigkeiten des Projekts und führt automatisch JAR -Pakete ein.
<project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance http://maven.apache.org/maven-v4_0_0.xsd "> <modelVersion> 4.0.0 </modelversion> <gruppe> com.krry </gruppeId> <artifactid> maven_ssm </artifactId> <version> <version> </snaps/snapshot> <name> <name> <URL> http://maven.apache.org </url> <Deponcies> <!-JUNIT einführen-> <De vorstellen> <GroupId> junit </GroupId> <ArtifactID> jungit </artifactId> <version> 4.11 </Version> <Scope> Test </scope> </abhängig> </abhängig> <! <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>3.0-alpha-1</version> <scope>provided</scope> </dependency> <!--Introducing the package of jstl--> <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> <Scope> bereitgestellt </scope> </abhängig> <!-Einführung der Kompilierungsabhängigkeit von JSP-> <Depopentcy> <gruppe> javax.servlet.jsp </GroupID> <ArctifactId> JSP-API </artifactid> <version> 2.2 </Version> <Scope> </Scope> </Scope> </scope> </abhängig> </abhängig> </abhängig> </abhängig> </abhängig> </</artifactid> <! <gruppe> log4j </GroupId> <artifactId> log4j </artifactId> <version> 1.2.17 </Version> </abhängig> <!-Spring SpringMvc MyBatis-> <!-Spring und SpringMvc-Konstruktion JAR-> <Depopact> <GroupID> org. <version> 4.2.1.Release </version> </abhängig> <depeaponcy> <gruppe> org.springFramework </Groupid> <artifactId> Spring-Jdbc </artifactid> <version> 4.2.1.Release </Version> </abhängig> <! <artifactId>spring-webmvc</artifactId> <version>4.2.1.RELEASE</version> </dependency> <!--springmvc requires json conversion package jackson --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.5.4</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>2.5.4</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.5.4</version> </abhängig> <!-JSR303 Hintergrundüberprüfung Hibernate Validator-> <De vorstellen> <gruppe> org.hibernate </GroupId> <artifactid> hibernate-validator </artifactid> <version> 5.1.1.FINAL </Version> </abhängig> <! <artifactId> commons-io </artifactId> <version> 2.4 </Version> </abhängig> <depeopcy> <gruppe> commons-fileUpload </Groupid> <artifactID> commons-fileUpload </artifactId> <version> 1.3.1 </Version> </abhängig> <depeopces> </gruppactId> <propageds org.apache <artifactId>commons-lang3</artifactId> <version>3.3.2</version> </dependency> <!--codeC related to encryption algorithms --> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.9</version> </dependency> <!--orm or jdbc component requires mybatis -> <!-Oracle-Datenbank-Treiber-> <De vorstellen> <gruppe> com.oracle </GroupId> <artifactId> ojdbc6 </artifactid> <version> 12.1.0.2.0 </Version> </abhängig> <!-Mysql-Datenbank-Treiber (nicht verwendet, der obige Oracle-Treiber wird verwendet. <artifactId> mysql-connector-java </artifactId> <version> 5.0.8 </Version> <Schope> Laufzeit </scope> </abhängig>-> <!-Proxool Connection-Pool-> <De vorangetrieben> <GroupId> com.cloudHopper.proxool </Groupid> <artifactid> proxool </artifactId> 0,9> proxool> proxool </artifactId> 0,9> proxool> proxool </artifactId> 0,9> proxool </artifactId> 0,9> proxool </artifactId> 0,9> proxool </artifactId> 0,9. </abhängig> <depelzung> <gruppe> com.cloudhopper.proxool </GroupId> <artifactId> proxool-cglib </artifactId> <version> 0.9.1 </Version> </abhängig> <!-Einführung des von Mybatis-Abhängigkeit> </gruppen> org.mybatis </gruppen> org.mybatis </gruppen> org.mybatis </gruppen> org.mybatis </gruppen> org.mybatis </gruppen> <artifactId> myBatis </artifactId> <version> 3.3.1 </Version> </abhängig> <depeopcy> <GroupId> org.mybatis </Groupid> <artifactID> myBatis-pring </artifactId> <version> 1.2.4 </Version> </abhängig </abhängig. <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.2.1</version> </dependency> </dependencies> <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> <plugin> <artifactId>maven-war-plugin</artifactId> <version>2.4</version> <configuration> <version>3.0</version> </configuration> </plugin> </plugins> <finalName>maven_SSM</finalName> </build> </project>
Hier ist eine Frage zum Maven -Projekt mit Pom.xml, um das Oracle -Treiberpaket zu importieren:
Aufgrund von Oracle Authorization -Problemen stellt Maven Oracle JDBC -Treiber nicht zur Verfügung. Um den Oracle JDBC -Treiber in Maven -Projekten anzuwenden, muss es manuell zum örtlichen Repository hinzugefügt werden.
Wenn die Oracle -Datenbank bereits auf dem Computer installiert ist, befindet sich ein Datenbanktreiber unter dem Installationspfad und kann direkt verwendet werden. D: /oracle/oraclexe/app/oracle/product/10.2.0/server/jdbc/lib
Sie können den Oracle -Datenbank -Treiber auch direkt von der offiziellen Oracle Official -Website herunterladen und SQL -Anweisungen verwenden, um die Version des Datenbanktreibers abzufragen: SELECT * aus v $ Instanz
Bestätigen Sie den Versions-Download: http://www.oracle.com/technetwork/database/features/jdbc/default-2280470.html
Öffnen Sie die Befehlszeilenschnittstelle von Windows, geben Sie das Verzeichnis des Treiberpakets OJDBC6 ein und führen Sie dann aus:
MVN Installation: Installieren
Wenn "Build Success" erfolgreich angezeigt wird, wird Ihr lokales Repository in Maven automatisch importiert.
Dann können Sie dem Maven -Projekt Abhängigkeit hinzufügen, und jede Koordinate entspricht den Elementen des obigen Befehls wie folgt:
<Depopenty> <gruppe> com.oracle </Groupid> <artifactId> ojdbc6 </artifactid> <version> 12.1.0.2.0 </Version> </abhängig>
Konfigurationsdatei von Spring: applicationContext.xml
<? xmlns: aop = "http://www.springframework.org/schema/aop" xmlns: context = "http://www.spingframework.org/schema/tx" xmlns: utring xmlns: p = "http://www.springframework.org/schema/p" xsi: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring- http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd "> <!-- Configuration Paketscanning-> <Context: Komponent-scan-Basis-Package = "com.Krry"> < /context: component scan> <!-Importieren Sie externe Ressourcendatei-> <! <!-- proxool connection pool--> <bean id="dataSource"> <!-- driver name, mysql --> <property name="driver" value="${db.driver}"></property> <!-- proxool The URL connection string of this must determine the user name and password --> <property name="driverUrl" value="${db.url}"></property> <!-- Username (Proxool wird nicht verwendet, kann aber nicht ausgelassen werden)-> <Eigenschaft name = "user" value = "$ {db.username}"> </property> <!-Passwort (Proxool wird nicht verwendet, aber nicht ausgelassen werden)-> <Eigenschaft name = "password" value = "$ {db.password}"> </properta> </achhaps> <! Wenn die Aufklärung abgeschlossen ist, recyceln Sie sie sofort. Die Zeitüberschreitungszerstörung ist jetzt auf 4 Sekunden festgelegt)-> <Eigenschaft name = "Housekeepingsleeptime" Value = "3000"> </Property> <!-Automatisch überprüfen, ob die Verbindung unterbrochen ist-> <Property name = "testBeforese" value = "true"> </Property> <! Diese Aussage wird am besten sehr schnell ausgeführt. Wenn es nicht definiert ist, wird der Testprozess ignoriert-> <Eigentumsname = "HousekeepingTestSQL" value = "Wählen Sie die Anzahl (1) aus Dual"> </property> <!-Wenn die Haushälterin feststellt, dass die Aktivitätszeit eines Threads größer als dieser Wert ist. Es wird den Thread töten. Bestätigen Sie also die Bandbreite Ihres Servers. Stellen Sie dann einen geeigneten Wert ein. Die Standardeinstellung beträgt 5 Minuten. Jetzt 10 Sekunden festlegen-> <Eigenschaft name = "maximumActivetime" value = "10000"> </Eigenschaft> <! Anzahl der Verbindungen (jetzt festgelegt 50)-> <Eigenschaft name = "minimumConnectionCount" value = "50"> </Eigenschaft> <! Sie können auch einen ConnectionListener (siehe ProxoolFacade) registrieren, um diese Informationen zu erhalten. -> <Eigenschaft name = "Trace" value = "false"> </property> <Eigenschaft name = "verbose" value = "true"> </property> </bean> <!-Transaktionsmanager Register-> <bean id = "txmgr"> <Property name = "dataSource" Refs = "dataSource"> </tx </</lean> </lean </lean <!-Turn the Transaction-Annotation Driver- transaction-Manager = "txmgr"/> <!-Konfigurieren Sie MyBatis 'SQLSessionFactory-> <bean id = " Scanner, der den Mapper als Ganzes scannen kann-> <Bean> <! Spring MVC -Konfigurationsdatei: SpringMvc.xml
<? xmlns: p = "http://www.springframework.org/schema/p" xmlns: context = "http://www.springframework.org/schema/util" xmlns: mvc = "http XSI: Schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd "> <!-Wenden Sie den Annotationsmodus-Treiber ein. FormatingConversionServiceFactoryBean-> <mvc: Annotationsgetrieben> <MVC: Message-Converters Register-Defaults = "True"> <bean> <Eigenschaftsname = "SupportedMediTypes"> <liste> <wert> text/plain; charset = utf-8 </value> <value> text> text> html; </bean> <bean/> <bean/> <bean> <bean> <Eigenschaft name = "Präfixjson" value = "false"/> <Eigenschaft name = "ObjectMapper"> <bean> <! HH: MM: SS "/> </bean> </Property> <!-Nicht angezeigt, wenn das Feld null ist-> <Eigenschaft name =" serializationInclusion "> <value type =" com.fasterxml.jackson <wert> application/json; charSet = utf-8 </value> <wert> application/x-www-form-urlencoded; charSet = utf-8 </value> </list> </property> </bean> </mvc: message-kontext: conconverters> </mvc: Annotation-Annotation> <! Base-Package = "com.krry.controller"> </context: component-scan> <! filtering--> <!--<mvc:default-servlet-handler//> --> <mvc:resources mapping="/resourse/**" location="/resourse/" /> <!-- Interceptor definition--> <mvc:interceptors> <mvc:interceptor> <!-- Personal center also needs to log in to configurations starting with admin to intercept --> <mvc:mapping path = "/admin/**"> </mvc: mapping> <! Parser-> <bean id = "multipartresolver" p: defaultCoding = "utf-8"> <Eigenschaft name = "uploadTempdir" value = "/temp"> </property> <Eigenschaft name = "MaxUploadsize" <wert> 4096 </value> <!-4KB Größe Lesen und Schreiben-> </Property> </bean> <!-Rendering JSP/Freemaker/Geschwindigkeit anzeigen: value = ". JSP"> </property> </beans>
Datenbankkonfigurationsdatei: jdbc.properties
db.driver = oracle.jdbc.oracledriver db.url = jdbc: oracle: dünn:@127.0.0.1: 1521: orcl db.username = 4m+la23kca4 = db.password = wwijciympau/= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
Ich habe den Verschlüsselungsalgorithmus hier verwendet
Protokollkonfigurationsdatei: log4j.properties
log4j.rootlogger = debug, console, filelog4j.appender.console = org.apache.log4j.consoleappenderLog4j.appender.console.layout = org.apache.log4j.patternLayoutlog4j.appender.console.layout.Layout.Layout.Layout.Layout.Layout.Layout.Layout.Layout.Layout.Layout.Layout.Layout.Layout HH: MM: SS} %-5p [ %t] %10L - %M %NLOG4J.Appender.file = org.apache.log4j.rollingFileAppenderLog4j.appender.file.file truelog4j.appender.FILE.layout=org.apache.log4j.PatternLayoutlog4j.appender.FILE.layout.ConversionPattern=%d{yyyy/MM/dd/HH:mm:ss} %-5p [%t] %10l - %m%n MyBatis-Konfigurationsdatei: mybatis-config.xml
<xml Version = "1.0" coding = "utf-8"?> <! docType configuration public "-// mybatis.org//dtd config 3.0 // en" "http://mybatis.org/dtd/mybatis-3-config.dtd" <-configuration> <configuration> <Booths> <!-<smarka-mappell.dtd "<; name = "cacheeNabled" value = "true" /> <!-Schalten Sie das sofortige Laden des zugehörigen Objekts für die Leistung aus-> <Einstellung Name = "LazyLoadingenabab" value = "true" /> <!-Legen Sie die Form des Ladens des zugehörigen Objekts fest. Hier ist ein Lastfeld auf Bedarf (das Lastfeld wird durch SQL angegeben). Alle Felder der zugehörigen Tabelle werden nicht geladen, um die Leistung zu verbessern. value = "true" /> <!-Erlauben Sie, benutzerdefinierte Primärschlüsselwerte (z. B. UUID 32-Bit-Codierung, die vom Programm als Schlüsselwerte generiert werden) zu verwenden, und die Strategie zur PK-Erzeugung der Datentabelle wird überschrieben. <!-Cache SQL für Batch-Update-Vorgänge zur Verbesserung der Leistung-> <Einstellungsname = "DefaultExecutortype" value = "batch" /> <!-Timeout Wenn die Datenbank nicht mehr als 25.000 Sekunden geantwortet hat-> <Einstellung Name "defaultStatementTimeOut", "value =" 25 " /> <Einstellungsname =" LazyLadermethods ". value = "Equals, Clon, HashCode, toString"/> </Einstellungen> <typealias> <!-Alias für benutzerdefiniertes Benutzerobjekt-> <!-<typealias type = "com.krry.mybatis.sysmanage.Entity.user" alias = "user"/>-> <! </Konfiguration>
Konfigurationsdatei für Netzwerkprogramme: web.xml
<? XSI: Schemalocation = "http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee http id = "webapp_id" Version = "3.1"> <Anzeige-Name> maven_ssm </display-name> <Welcome-File-List> <Welcome-File> Index </Welcome-File> </Welcome-file-List> <!-Spring-IOC-Container laden-> <context-param> <param-name> contexteconfrigllocation </param-name> </param-name> </param-name> </param-name> </param-name> </param-name> </param-name> </param-name> </param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <!-- spring context listener--> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- Introspector cache clear listener --> <listener> <Hörer-Klasse> org.springframework.web.util.InrospectorCleanuplistener </Listener-Klasse> </Listener> <filter> <Filter-name> codieren </filter-name> <filter-class> org.springFramework.web.Filter.characterencodingfilter </filter-clasw.filter.Filter.characterencodingfilter </filter-clasweb.filter.Filter.characterencodingfilter </filter-clasweb.filter.Filter.characterencodingfilter </filter-clasweb.filter.filter.characterencodingfilter </filter-class-class-class-appl. <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- Configure DispatcherServlet --> <servlet> <servlet-name> maven_ssm </servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </Servlet-Class> <! SpringMvc01-servlet.xml-> <init-param> <param-name> contextconfigLocation </param-name> <param-value> classpath: springmvc.xml </param-value> </init-param> </servlet-mapping> <servlet-nam> maven_ssm </servlet-mapping> <URL-Muster>/Index </url-pattern> </servlet-mapping> <!-Sie können mit *.do, *.Action (Verständnis)/(Schlüssel) übereinstimmen: Alle Anfragen werden von Spring MVC analysiert, aber statische Ressourcendateien müssen gefiltert und freigegeben werden. Es wird empfohlen, diese Methode zu verwenden.
Zu diesem Zeitpunkt ist die grundlegende Konfiguration abgeschlossen und das JAR -Paket wird automatisch angewiesen. Testen und schreiben Sie den nachfolgenden Java -Code
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.