eclipse maven打包_Maven 学习
1 Maven 簡介
Maven 使用項目對象模型(POM,Project Object Model) 的概念,可以通過一小段描述信息來管理項目的構建、報告和文檔的軟件項目管理工具2 Maven 的下載與IDE 的整合
1 下載地址
http://maven.apche.org
2 Eclipse 整合Maven
Step1:打開 Eclipse 中window -> preference -> maven -> InstallLocations
更換為自己下載的 maven ,不使用 eclipse 自帶的 maven
Step2:打開 maven -> UserSetting
更換為自己的 settings.xml 配置文件,并修改 settings.xml 文件
3 Maven 倉庫與配置
3.1遠程倉庫
中央倉庫 https://mvnrepository.com/
3.2 本地倉庫
存儲本機的拷貝,以及遠程倉庫中的下載的構件(Java API 資源)
4 倉庫配置
5.1 settings.xml
設置本地倉庫的地址 --> <localRepository>E://Maven//repository</localRepository>5.2 配置鏡像源
<mirrors><mirror><!-- 鏡像的ID --><id>alimaven</id><name>aliyun maven</name><!-- 指定鏡像路徑 --><url>http://maven.aliyun.com/nexus/content/groups/public/</url><!-- 匹配中央倉庫 --><mirrorOf>central</mirrorOf> </mirror></mirrors>6 倉庫優先級
本地倉庫 > 指定倉庫 > 遠程倉庫(鏡像倉庫 > 中央倉庫)6.1 本地倉庫
6.2 指定倉庫
6.3 遠程倉庫
鏡像倉庫
中央倉庫
3 Maven 工程
3.1 Pom 工程
pom 工程是邏輯工程。
用在父級工程或者聚合工程。
用來做 jar 包的版本控制
3.2 jar 工程
將會打包成 jar 用作 jar 包使用
3.3 war 工程
將會打包成 war ,發布在服務器上的工程。
4 創建Maven 項目
使用 Eclipse 創建 Maven 項目,勾選簡單工程,即創建純凈的項目。4.1 Maven 創建
Group Id Artifact Id Version 這三個組合起來唯一定位項目的位置Group Id : 域名倒著寫
Artifact Id:項目名稱
Version : 版本
Packing :項目類型
Name:任意
Description:描述任意
4.2 Maven 目錄
| | | | :---------------- | ------------------------------------------------------------ | | src/main/java | 存儲 java 源代碼 | | src/man/resources | 存儲資源配置文件 | | src/main/test | 測試 java 源代碼和資源文件 | | src/ | 存儲源代碼和資源文件 | | target | 編譯后內容放置的文件夾 | | pom.xml | Maven 的基礎配置文件。配置項目與項目之間關系,包括配置依賴關系等等 |
5 工程關系
5.1 依賴
如果 A工程 依賴于 B 工程的資源,則稱 A 工程依賴于 B 工程
做法:將 B 工程的坐標加入 A 工程的 pom.xml 的依賴中。
<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.2</version><!--complie 編譯中有效runtime 運行中有效system 全部中有效[默認]provided 當前工程中有效test 只在測試有效--><scope>test</scope> </dependency>5.2 繼承
如果 A 工程繼承 B 工程,則A 工程可以使用 B 工程所有資源。前提 B 工程必須是 pom 工程類型.
父工程的配置文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>cn.edu.ahszu</groupId><artifactId>ParentProject</artifactId><version>0.0.1-SNAPSHOT</version><packaging>pom</packaging><name>Demo</name><properties><!-- 配置當前項目依賴構建的版本 項目名最好見名知意--><junit-version>4.2</junit-version></properties><dependencyManagement><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>${junit-version}</version></dependency></dependencies></dependencyManagement> </project>子工程的配置文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><!-- 繼承父項目 --><parent><groupId>cn.edu.ahszu</groupId><artifactId>ParentProject</artifactId><version>0.0.1-SNAPSHOT</version></parent><groupId>cn.edu.ahszu</groupId><artifactId>ChildProject</artifactId><version>0.0.1-SNAPSHOT</version><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId></dependency></dependencies> </project>5.3 聚合
當我們開發的工程擁有 2 個以上模塊的時候,每個模塊都是一個獨立的功能集合。
注意:在創建聚合工程的過程中,總的工程必須是 pom 類型的工程,子模塊的工程類型任意。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>cn.edu.ahszu</groupId><artifactId>04-Maven-Managerment</artifactId><version>0.0.1-SNAPSHOT</version><packaging>pom</packaging><!-- 子模塊 --><modules><module>04-Maben-sub</module><module>04-Maven-sub2</module></modules> </project>6 創建 war 類型的項目
創建war 類型的項目后,
war 默認沒有 WEB-INF 目錄及下面的 web.xml 文件,所以需要手動添加。
在 webapp 目錄下創建 WEB-INF 目錄該目錄下的 web.xm 文件
7 Maven 常用插件
7.1 編譯器插件
前提是本機必須有 JDK ,并且JDK 的版本要對應
在 pom.xml 配置編譯器插件,用于選擇 JDK 的版本,并且對本項目生效。
若需全局配置,需要在 settings.xml 中配置編譯器插件。
pom.xml 局部配置
<build> <plugins> <!-- java 編譯插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.2</version> <configuration> <source>1.7</source> <target>1.7</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build>settings.xml 全局配置
<profile> <!-- 定義的編譯器插件 ID,全局唯一 --> <id>jdk-1.7</id> <!-- 插件標記,activeByDefault 默認編譯器,jdk 提供編譯器版本 --> <activation> <activeByDefault>true</activeByDefault> <jdk>1.7</jdk> </activation> <!-- 配置信息 source-源信息,target-字節碼信息,compilerVersion-編譯過程版--><properties> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> <maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion> </properties> </profile>7.2 Tomcat 插件
啟動 tomcat 命令:tocmat7 :run命令中的 tomcat7 是插件命名,由插件提供商決定。run 為插件中的具體功能.
本地應用
<build> <plugins> <!-- 配置 Tomcat 插件 --> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <port>8080</port> <!--/ 表示訪問 tocmat 中 webapp 中 ROOT 目錄訪問 http://localhost:8080/--><path>/</path> </configuration> </plugin> </plugins> </build>遠程熱部署
在 tomcat 容器運行過程中,動態實現 war 工程的部署,重新部署的功能。
使用 maven build ,使用 run:deploy 或者 run:redeploy
配置 tocmat 服務器用戶
<role rolename="manager-gui"/> <role rolename="manager-script"/> <user username="tomcatUsername" password="tomcatPassword" roles="manager-gui,manager-script"/>修改 pom.xml 文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>cn.szxy</groupId><artifactId>07-Maven-tomcat</artifactId><version>0.0.1-SNAPSHOT</version><packaging>war</packaging><build> <plugins> <!-- 配置 Tomcat 插件 --> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <port>8080</port> <!-- path: 上傳的 war 包解壓后的路徑命名 --> <path>/ROOT</path> <!-- url : 上傳 war 包到什么位置,除 IP 和端口可以修改外其他不變 --> <url>http://192.168.170.8:8080//manager/text</url> <!-- 為 tomcat 配置的管理用戶名和密碼. --> <username>tomcatUsername</username> <password>tomcatPassword</password> </configuration> </plugin> </plugins> </build> </project>7.3 資源拷貝插件
使用 maven 命令生成 war 類型的工程,默認打包 src/main/resources 下的配置文件,并不會打包src 目錄下的配置文件,所以這時需要配置 pom.xml ,讓maven 也打包src目錄下的配置文件。
注意:當在 pom.xml 配置 src 目錄配置文件時,還需再添加原來默認打包路徑下 src/mian/resources 下的配置文件。
<!-- 配置資源插件 --> <resources><resource><directory>src/main/java</directory><includes><include>**/**.xml</include></includes></resource><resource><directory>src/main/resources</directory><includes><include>**/**.xml</include><include>**/**.properties</include></includes></resource> </resources>8 Maven 常用命令
install
本地安裝,包含編譯,打包,安裝到本地倉庫
編譯 javac
打包 jar
安裝到本地倉庫,將打包 jar 文件,保存到本地倉庫中。
clean
清除已編譯信息,刪除工程中的 target 目錄。
compile
只編譯,javac
deploy
部署。
package
打包。包括編譯,打包的兩個功能
9 Maven 私服
私服是一種特殊的遠程倉庫,它是架設在局域網的倉庫服務,
私服代理廣域網上的遠程倉庫,供局域網使用。
安裝私服 Nexus
默認端口為8081
修改防火墻,開放端口
service stop iptables開啟 nexus 服務器
./nexus start訪問網站
http://IP:8081/nexus/配置私服
登錄
Nexus 默認用戶名是 admin、密碼是admin123
倉庫類型
hosted
存放自己項目的構件
proxy
代理倉庫:代理公共的遠程倉庫
3rd party
存放第三方構建
設置 proxy 代理倉庫準許遠程下載
setting.xml
注意:配置了 nexus 服務器,就不需要配置鏡像源
當 setting.xml 配置文件出錯,則 eclipse maven插件不能讀取 setting.xml
<?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <localRepository>D:/repositories</localRepository> <!--Maven是否需要和用戶交互以獲得輸入。如果Maven需要和用戶交互以獲得輸入,則設置成true,反之則應為false。默認為true。--> <interactiveMode>true</interactiveMode> <!--表示Maven是否需要在離線模式下運行。如果構建系統需要在離線模式下運行,則為true,默認 為false。 --> <offline>false</offline> <!--當插件的組織Id(groupId)沒有顯式提供時,供搜尋插件組織Id(groupId)的列表。該元素包含一個 pluginGroup元素列表,每個子元素包含了一個組織Id(groupId)。當我們使用某個插件,并且沒有在命令行為其提供組織Id(groupId)的時候,Maven就會使用該列表。 --><pluginGroups> <pluginGroup>org.mortbay.jetty</pluginGroup> <pluginGroup>org.jenkins-ci.tools</pluginGroup> </pluginGroups> <proxies> </proxies> <!--配置服務端的一些設置。一些設置如安全證書不應該和pom.xml一起分發。這種類型的信息應該存在于構建服務器上的settings.xml文件中。--> <servers> <server> <!-- server的id必須和pom.xml文件中的倉庫id一致 --> <!--這是server的id(注意不是用戶登陸的id),該id與distributionManagement中 repository元素的id相匹配。--> <id>nexus-releases</id> <username>deployment</username> <password>deployment123</password> </server> <server> <id>nexus-snapshots</id> <username>deployment</username> <password>deployment123</password> </server> </servers> <!--根據環境參數來調整構建配置的列表。--> <profiles> <profile> <id>jdk-1.7</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.7</jdk> </activation> <properties> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> <maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion> </properties> </profile> <profile> <id>sxt</id> <activation> <activeByDefault>false</activeByDefault> <jdk>1.7</jdk> </activation> <repositories> <!-- 私有庫配置 --> <repository> <!-- 私有庫 id --> <id>nexus</id> <!-- 私有庫地址 --> <url>http://192.168.120.158:8081/nexus/content/groups/public/</url> <!-- 私有庫是否支持 releases 版本 --> <releases> <enabled>true</enabled> </releases> <!-- 私有庫是否支持 snapshots 版本 --> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <!-- 插件庫配置,具體含義私有庫配置 --> <pluginRepository> <id>nexus</id> <url>http://192.168.120.158:8081/nexus/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile> </profiles> <!-- 激活 profile --> <activeProfiles> <!-- 根據 profile 的 id 標簽值激活指定的內容 --> <activeProfile>sxt</activeProfile> </activeProfiles> </settings>pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>group</groupId> <artifactId>project</artifactId> <version>1.0</version> <distributionManagement> <repository> <id>nexus-releases</id> <name>Nexus Release Repository</name> <url>http://192.168.120.158:8081/nexus/content/repositories/releases/</url> </repository> <snapshotRepository> <id>nexus-snapshots</id> <name>Nexus Snapshot Repository</name> <url>http://192.168.120.158:8081/nexus/content/repositories/snapshots/</url> </snapshotRepository> </distributionManagement> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>2.1.2</version> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project>在 Maven 工程的 maven build 中,輸入命令 deploy,即可實現發布工程信息到私服。
如果同版本工程可能多次發布,需要修改 Nexus 配置。
10 Maven 實戰
1 需求分析
基于 SSM 框架 的CRUD 案例
2 項目選型
3 項目架構設計
傳統項目設計方式 --單體架構
Project
----------com.szxy
-----------------------Controller
------------------------Serviece
------------------------Pojo
------------------------Mapper
Maven項目設計方式
2 創建工程
2.1 建立 pom 父工程
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>cn.szy</groupId><artifactId>MavenParent</artifactId><version>0.0.1-SNAPSHOT</version><packaging>pom</packaging><properties><junit.version>4.12</junit.version><spring.version>4.1.3.RELEASE</spring.version><mybatis.version>3.2.8</mybatis.version><mybatis.spring.version>1.2.2</mybatis.spring.version><mysql.version>5.1.32</mysql.version><slf4j.version>1.6.4</slf4j.version><druid.version>1.0.9</druid.version><jstl.version>1.2</jstl.version><servlet-api.version>2.5</servlet-api.version><jsp-api.version>2.0</jsp-api.version><tomcat.version>2.2</tomcat.version></properties><!-- jar包的依賴注入 ,由于該工程是一個父工程,所以jar包在該pom文件中只是聲明 --><dependencyManagement><dependencies><!-- 單元測試 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>${junit.version}</version><scope>test</scope></dependency><!-- 日志處理 --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>${slf4j.version}</version></dependency><!-- Mybatis --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>${mybatis.version}</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>${mybatis.spring.version}</version></dependency><!-- MySql --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql.version}</version></dependency><!-- 連接池 --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>${druid.version}</version></dependency><!-- Spring --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>${spring.version}</version></dependency><!-- JSP相關 --><dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>${jstl.version}</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>${servlet-api.version}</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jsp-api</artifactId><version>${jsp-api.version}</version><scope>provided</scope></dependency></dependencies></dependencyManagement><!-- 插件的開啟 --><build><!-- tomcat插件,由于子項目不一定每個都是web 項目,所以該插件只是聲明,并未開啟 --><pluginManagement><plugins><!-- 配置Tomcat插件 --><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>${tomcat.version}</version></plugin></plugins></pluginManagement><!-- maven的編譯器插件,該插件主要是決定了當前項目所使用jre版本 。由于無論是jar,還是war項目都需要制定jar的版本,所以該插件不需要生命,應當是開啟的。 --><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.2</version><configuration><source>1.7</source><target>1.7</target><encoding>UTF-8</encoding></configuration></plugin></plugins></build> </project>2.2 創建聚合 pom 工程
pom.xml 配置
當前是子模塊全部創建后的 pom.xml 配置文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>cn.szxy</groupId><artifactId>11-manager-parent</artifactId><version>0.0.1-SNAPSHOT</version></parent><groupId>cn.szxy</groupId><artifactId>11-manager</artifactId><version>0.0.1-SNAPSHOT</version><packaging>pom</packaging><modules><module>11-manager-pojo</module><module>11-manager-mapper</module><module>11-manger-service</module><module>11-manager-controller</module></modules> </project>2.3 創建子模塊 pojo 工程
pom.xml 文件無需修改
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>cn.szxy</groupId><artifactId>11-manager</artifactId><version>0.0.1-SNAPSHOT</version></parent><artifactId>11-manager-pojo</artifactId> </project>2.4 創建子模塊 mapper 工程
pom.xml 配置文件
添加 pojo 工程依賴
配置資源插件,復制映射文件到資源目錄下
添加關于 mybatis 的 jar 包
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>cn.szxy</groupId><artifactId>11-manager</artifactId><version>0.0.1-SNAPSHOT</version></parent><artifactId>11-manager-mapper</artifactId><build><resources><resource><directory>src/main/java</directory><includes><include>**/*.xml</include></includes></resource></resources></build><dependencies><dependency><groupId>cn.szxy</groupId><artifactId>11-manager-pojo</artifactId><version>0.0.1-SNAPSHOT</version></dependency><!-- mybatis 依賴 --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId></dependency><!-- MySql --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><!-- 連接池 --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId></dependency></dependencies> </project>2.5 創建子模塊 service工程
pom.xml 配置文件
添加 maaper 工程依賴
添加 spring 相關 jar 包
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>cn.szxy</groupId><artifactId>11-manager</artifactId><version>0.0.1-SNAPSHOT</version></parent><artifactId>11-manager-service</artifactId><dependencies><dependency><groupId>cn.szxy</groupId><artifactId>11-manager-mapper</artifactId><version>0.0.1-SNAPSHOT</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId></dependency></dependencies> </project>2.6 創建子模塊 controller 工程
spring 配置
applicationContext-Dao.xml
<?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:p="http://www.springframework.org/schema/p" 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/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!-- 配置解析properties文件的工具類 --> <context:property-placeholder location="classpath:resource/*.properties"/> <!-- 配置數據源 dataSource 阿里數據源--> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close"> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> <property name="driverClassName" value="${jdbc.driver}" /> <property name="maxActive" value="10" /> <property name="minIdle" value="5" /> </bean> <!-- 創建mybatis的上下文對象 --> <bean class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource"/> </property> <property name="configLocation"> <value>classpath:mybatis/SqlMapperClient.xml</value> </property> </bean> <!-- 掃描mybatis的接口與映射配置文件 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.szxy.mapper"/> </bean> </beans>applicationContext-service.xml
<?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:p="http://www.springframework.org/schema/p" 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/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!-- 掃描bean對象 --> <context:component-scan base-package="cn.szxy.service"/> </beans>applicationContext-tx.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/springutil-4.0.xsd"> <!-- 配置事物管理器的切面 --> <bean id="transactionMananger" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean> <!-- 配置事物傳播行為 :其實就是那些方法應該受什么樣的事物控制--> <tx:advice id="advice" transaction-manager="transactionMananger"> <tx:attributes> <tx:method name="add*" propagation="REQUIRED"/> <tx:method name="modify*" propagation="REQUIRED"/> <tx:method name="update*" propagation="REQUIRED"/> <tx:method name="dorp*" propagation="REQUIRED"/> <tx:method name="del*" propagation="REQUIRED"/> <tx:method name="find*" read-only="true"/> </tx:attributes> </tx:advice> <!-- 那些類下的方法需要參與到當前的事物管理中 。配置切點 --> <aop:config> <aop:advisor advice-ref="advice" pointcut="execution(* com.bjsxt.service.*.*(..))"/> </aop:config> </beans>springmvc.xml
<?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:p="http://www.springframework.org/schema/p"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/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"><!-- 包的掃描器主要是掃描@controller --><context:component-scan base-package="com.szxy.web.controller" /><!-- 注冊兩個新對象 主要是為了來處理 springmvc中的其他anntation 如:@requestmapping --><mvc:annotation-driven /><!-- 視圖解析器 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/jsp/" /><!-- jsp所在的前綴 --><property name="suffix" value=".jsp" /></bean><!-- 配置靜態資源映射 --><mvc:resources location="/WEB-INF/css/" mapping="/css/**" /><mvc:resources location="/WEB-INF/js/" mapping="/js/**" /><!-- 文件上傳處理器 --><!-- <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><property name="defaultEncoding" value="utf-8"></property><property name="maxInMemorySize" value="1024"></property>單位字節org.springframework.web.multipart.MaxUploadSizeExc eededException<property name="maxUploadSize" value="1000000"></property></bean> --> </beans>SqlMapperClient.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><!-- 設置分頁 --> </configuration>db.properties
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql:///test jdbc.username=root jdbc.password=root2.7 開啟服務器
clean tocmat7:run總結
以上是生活随笔為你收集整理的eclipse maven打包_Maven 学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 迁移学习训练集准确率一直上不去_可以提高
- 下一篇: 软件工程 - 团队重组