1. 程式人生 > 實用技巧 >使用Maven搭建Spring環境

使用Maven搭建Spring環境

這裡是專案搭建的大致目錄結構

需要注意的是:×××Mapper.xml這個檔案不能放在com.mvc.mapper這個包中,因為他不是java檔案,所以不會一同編譯,也就是說,生成的檔案中並不包含這個,所以需要將這個×××Mapper.xml放在resources原始檔裡,但是又要求×××Mapper.xml所在的檔案包名要和他所實現的mapper介面保持一致,所以可以在resources裡直接新建一個和com.mvc.mapper一樣的資料夾,然後放進去,記住,資料夾新建時需要注意的事項,正確的輸入:com/mvc/mapper

,其他的也沒有需要特別注意的地方,看著上面的目錄結構建就可以了。

下面是pom.xml的依賴包和外掛,寫的有註釋

  1 <?xml version="1.0" encoding="UTF-8"?>
  2 
  3 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
> 5 <modelVersion>4.0.0</modelVersion> 6 7 <groupId>com.xxx</groupId> 8 <artifactId>maven04</artifactId> 9 <version>1.0-SNAPSHOT</version> 10 <packaging>war</packaging><!-- 打包方式使用war,否則使用tomcat時會自動停止 --> 11 12
<name>maven04 Maven Webapp</name> 13 <url>http://www.example.com</url> 14 15 <!-- 全域性屬性配置 --> 16 <properties> 17 <project.build.name>maven04</project.build.name> <!-- 用來定義war包名稱--> 18 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <!--用來定義資原始檔的編碼格式--> 19 <spring.version>4.2.6.RELEASE</spring.version><!-- spring版本號 --> 20 <mybatis.version>3.3.0</mybatis.version><!-- mybatis版本號 --> 21 <maven.compiler.source>1.8</maven.compiler.source> 22 <maven.compiler.target>1.8</maven.compiler.target> 23 </properties> 24 25 <!--依賴包寫在<dependencies>這裡面 --> 26 <dependencies> 27 <!--servlet依賴--> 28 <dependency> 29 <groupId>javax.servlet</groupId> 30 <artifactId>javax.servlet-api</artifactId> 31 <version>3.0.1</version> 32 <scope>provided</scope> 33 </dependency> 34 35 <!--Spring框架依賴--> 36 <dependency> 37 <groupId>org.springframework</groupId> 38 <artifactId>spring-webmvc</artifactId> 39 <version>${spring.version}</version> 40 </dependency> 41 <dependency> 42 <groupId>org.springframework</groupId> 43 <artifactId>spring-jdbc</artifactId> 44 <version>${spring.version}</version> 45 </dependency> 46 <dependency> 47 <groupId>org.springframework</groupId> 48 <artifactId>spring-tx</artifactId> 49 <version>${spring.version}</version> 50 </dependency> 51 <dependency> 52 <groupId>org.springframework</groupId> 53 <artifactId>spring-aspects</artifactId> 54 <version>${spring.version}</version> 55 </dependency> 56 <dependency> 57 <groupId>org.springframework</groupId> 58 <artifactId>spring-web</artifactId> 59 <version>${spring.version}</version> 60 </dependency> 61 62 <!-- slf4j依賴 --> 63 <dependency> 64 <groupId>org.slf4j</groupId> 65 <artifactId>slf4j-log4j12</artifactId> 66 <version>1.7.25</version> 67 </dependency> 68 69 <!-- jackson.core核心包依賴 --> 70 <dependency> 71 <groupId>com.fasterxml.jackson.core</groupId> 72 <artifactId>jackson-databind</artifactId> 73 <version>2.3.3</version> 74 </dependency> 75 76 <!-- mybatis核心包依賴 --> 77 <dependency> 78 <groupId>org.mybatis</groupId> 79 <artifactId>mybatis</artifactId> 80 <version>${mybatis.version}</version> 81 </dependency> 82 83 <!-- mybatis-spring整合依賴--> 84 <dependency> 85 <groupId>org.mybatis</groupId> 86 <artifactId>mybatis-spring</artifactId> 87 <version>1.2.3</version> 88 </dependency> 89 90 <!--tomcat依賴--> 91 <dependency> 92 <groupId>org.apache.tomcat</groupId> 93 <artifactId>tomcat-dbcp</artifactId> 94 <version>9.0.37</version> 95 </dependency> 96 97 <!--junit依賴--> 98 <dependency> 99 <groupId>junit</groupId> 100 <artifactId>junit</artifactId> 101 <version>4.12</version> 102 <scope>test</scope> 103 </dependency> 104 105 <!--Oracle jdbc6依賴包,目前沒有--> 106 <!-- 手動新增oracle驅動依賴 --> 107 <dependency> 108 <groupId>com.oracle</groupId> 109 <artifactId>ojdbc6</artifactId> 110 <version>11.2.0</version> 111 </dependency> 112 113 <!-- 前端jstl依賴 --> 114 <dependency> 115 <groupId>javax.servlet</groupId> 116 <artifactId>jstl</artifactId> 117 <version>1.2</version> 118 </dependency> 119 120 <!-- 檔案上傳依賴--> 121 <dependency> 122 <groupId>commons-fileupload</groupId> 123 <artifactId>commons-fileupload</artifactId> 124 <version>1.3.2</version> 125 </dependency> 126 <dependency> 127 <groupId>commons-io</groupId> 128 <artifactId>commons-io</artifactId> 129 <version>2.5</version> 130 </dependency> 131 132 </dependencies> 133 134 <build> 135 <finalName>maven04</finalName> 136 137 <!-- 外掛寫在<plugin></plugin>裡 --> 138 <plugins> 139 140 <!-- 配置jetty外掛,啟動web的第一種方式 jetty方式 --> 141 <plugin> 142 <groupId>org.eclipse.jetty</groupId> 143 <artifactId>jetty-maven-plugin</artifactId> 144 <version>9.3.14.v20161028</version> 145 <configuration> 146 <webAppConfig> 147 <maxFormContentSize>600000</maxFormContentSize> 148 <contextPath>/</contextPath><!-- 配置jetty 的啟動路徑 --> 149 </webAppConfig> 150 <scanIntervalSeconds>10</scanIntervalSeconds> 151 <webAppSourceDirectory>${basedir}/webapp/</webAppSourceDirectory> 152 <stopPort>9998</stopPort> 153 <stopKey>stop</stopKey> 154 <jettyConfig/> 155 <systemProperties> 156 <systemProperty> 157 <name>UrlEncoded</name> 158 <value>GBK</value> 159 </systemProperty> 160 </systemProperties> 161 </configuration> 162 </plugin> 163 <!-- 配置jetty外掛 --> 164 165 <!-- 配置Tomcat外掛 啟動web的第一種方式 Tomcat方式 --> 166 <plugin> 167 <groupId>org.apache.tomcat.maven</groupId> 168 <artifactId>tomcat7-maven-plugin</artifactId> 169 <version>2.2</version> 170 <configuration> 171 <port>8088</port> 172 <path>/</path> <!-- 配置Tomcat 啟動路徑 --> 173 <uriEncoding>UTF-8</uriEncoding> 174 </configuration> 175 </plugin> 176 <!-- 配置Tomcat外掛 --> 177 178 </plugins> 179 180 </build> 181 </project>

如果寫完後發現好多依賴都是爆紅,只需要按照下面的步驟做就好了。等他講依賴都下載完畢或就不會爆紅了,

web.xml配置

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
 3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4          xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
 5          version="4.0">
 6     <!--設定首頁-->
 7     <display-name>mva</display-name>
 8     <welcome-file-list>
 9         <welcome-file>lwl</welcome-file>
10     </welcome-file-list>
11 
12     <!--配置Servlet-->
13     <servlet>
14         <servlet-name>SpringMVC</servlet-name>
15         <!--Spring的核心控制器  -->
16         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
17         <!-- 應用啟動就載入 -->
18         <load-on-startup>1</load-on-startup>
19     </servlet>
20 
21     <servlet-mapping>
22         <servlet-name>SpringMVC</servlet-name>
23         <!--Jsp 伺服器接收到所有的請求,會交給核心控制器-->
24         <url-pattern>/</url-pattern>
25         <!--攔截/lwl,把/lwl當做首頁-->
26         <url-pattern>/lwl</url-pattern>
27     </servlet-mapping>
28 
29     <!--日誌載入-->
30     <context-param>
31         <param-name>log4jConfigLocation</param-name>
32         <param-value>/WEB-INF/log4j.properties</param-value>
33     </context-param>
34     <listener>
35         <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
36     </listener>
37 
38 </web-app>

Spring-servlet.xml配置

 1 <beans xmlns="http://www.springframework.org/schema/beans"
 2        xmlns:context="http://www.springframework.org/schema/context"
 3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4        xmlns:mvc="http://www.springframework.org/schema/mvc"
 5        xmlns:aop="http://www.springframework.org/schema/aop"
 6        xsi:schemaLocation="http://www.springframework.org/schema/beans
 7    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
 8    http://www.springframework.org/schema/context
 9    http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
10 
11 
12     <!--告訴spring,去哪裡找-->
13     <context:component-scan base-package="com.mvc"/>
14 
15     <mvc:annotation-driven></mvc:annotation-driven>
16 
17     <mvc:resources location="/static/" mapping="/static/**"></mvc:resources>
18 
19     <!--分割-->
20     <!--直接在Spring裡配置Mybatis-->
21     <bean id="dataSource" class="org.apache.tomcat.dbcp.dbcp2.BasicDataSource">
22         <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>
23         <property name="url" value="jdbc:oracle:thin:@192.168.1.3:1521:xe"></property>
24         <property name="username" value="lwl"></property>
25         <property name="password" value="123456"></property>
26         <property name="initialSize" value="5"></property>
27         <property name="maxIdle" value="2"></property>
28     </bean>
29 
30     <!--Session工廠-->
31     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
32         <property name="dataSource" ref="dataSource"/>
33         <property name="mapperLocations" value="classpath:com/mvc/mapper/*.xml"/>
34         <property name="typeAliasesPackage" value="com.mvc.model"></property>
35     </bean>
36 
37     <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
38         <property name="basePackage" value="com.mvc.mapper"></property>
39         <property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
40     </bean>
41 
42     <aop:aspectj-autoproxy proxy-target-class="true"></aop:aspectj-autoproxy>
43 
44     <!--從Servlet裡跳轉頁面(拼接) /web-inf/××.jsp-->
45     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
46         <property name="prefix" value="/WEB-INF/jsp/"></property>
47         <property name="suffix" value=".jsp"></property>
48     </bean>
49 
50 
51 </beans>

log4j.properties配置檔案

 1 #log level DEBUG/INFO/WERN/ERROR/FATAL
 2 log4j.rootLogger=DEBUG,A1,A2
 3 
 4 # console
 5 log4j.appender.A1=org.apache.log4j.ConsoleAppender
 6 log4j.appender.A1.layout=org.apache.log4j.PatternLayout
 7 log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l %m%n
 8 
 9 # file
10 log4j.appender.A2=org.apache.log4j.FileAppender
11 log4j.appender.A2.File=d:/abc.log
12 log4j.appender.A2.Append=true
13 log4j.appender.A2.layout=org.apache.log4j.PatternLayout
14 log4j.appender.A2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l %m%n

訪問伺服器可以使用jetty和tomcat,首先使用jetty,方法:

點選編輯

然後選擇新增一個maven

然後點選右下角的Apply--->OK後就出現配置好的jetty

點選小箭頭即可使用jetty方式執行,即可看到如下圖所示的程式碼,此時開啟瀏覽器輸入localhost:8080即可訪問。

使用tomcat執行專案

同樣的方式新建一個Tomcat,然後點選小箭頭後執行:

控制檯會列印如下程式碼:直接開啟這個地址,即可訪問到專案的頁面,所以從這個方面來說,Tomcat確實比jetty要好用