最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot實(shí)現(xiàn)maven多模塊和打包部署

 更新時(shí)間:2022年04月07日 11:11:34   作者:一葉知秋_dba  
本文主要介紹了springboot實(shí)現(xiàn)maven多模塊和打包部署,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

開發(fā)工具 :idea

工程結(jié)構(gòu):

父工程father

子模塊 dao (用于持久化數(shù)據(jù)跟數(shù)據(jù)庫交互)

子模塊 entity (實(shí)體類)

子模塊 service (處理業(yè)務(wù)邏輯)

子模塊 web (頁面交互接收、傳遞數(shù)據(jù),唯一有啟動(dòng)類的模塊)

關(guān)系: web依賴 service、dao、entity

service依賴 dao、entity

dao依賴 entity

entity誰都不依賴,獨(dú)立的

創(chuàng)建多模塊項(xiàng)目

new ------file-------project

在這里插入圖片描述

聯(lián)網(wǎng)狀態(tài)下 選擇 default 直接下一步

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

項(xiàng)目結(jié)構(gòu)如下

在這里插入圖片描述

接下來,把src整個(gè)刪掉,父工程不需要,因?yàn)楦腹こ棠憔彤?dāng)它只有一個(gè)外殼就完了

接下來創(chuàng)建子模塊 工程上右鍵 → new → Module 選擇Spring Initaializr 下一步

在這里插入圖片描述

在這里插入圖片描述

重復(fù)上面操作 創(chuàng)建service 現(xiàn)在創(chuàng)建好了 entity 和 service
dao模塊和web模塊可以根據(jù)實(shí)際需求選擇引入mysql,mybatis,web這些

在這里插入圖片描述

在這里插入圖片描述

刪除每個(gè)子模塊中沒用的文件,.mvn、.gitignore、daoiml、mvnw、mvnw.cmd文件只留下pom.xml

在這里插入圖片描述

刪除除了web模塊以外其它模塊中的Applicatin啟動(dòng)項(xiàng),和resources目錄下的application.properties配置文件

在這里插入圖片描述

以上動(dòng)作操作完成以后如果你發(fā)現(xiàn)你的子模塊變成了文件夾,沒關(guān)系,找到Maven Projects刷新一下就好了

在這里插入圖片描述

在這里插入圖片描述

最終的項(xiàng)目結(jié)果如下

在這里插入圖片描述

依賴關(guān)系

打開父pom.xml修改打包方式j(luò)ar為pom,注意:build內(nèi)容也需要做替換,因?yàn)槟J(rèn)的spring-boot-maven-plugin這種方式,等到后期打包的時(shí)候他會(huì)一直提示你,你引入的依賴不存在!代碼如下

<?xml version="1.0" encoding="UTF-8"?>
<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>
	<!--指定項(xiàng)目的spring boot的版本-->
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.1.3.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<!--版本號(hào)-->
	<groupId>com.mr</groupId>
	<artifactId>father</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>pom</packaging> <!--父類為pom-->
	<name>father</name>
	<description>Demo project for Spring Boot</description>
<!--java 版本-->
	<properties>
		<java.version>1.8</java.version>
	</properties>
	<!--管理模塊-->
	<modules>
		<module>entity</module>
		<module>dao</module>
		<module>service</module>
		<module>web</module>
	</modules>
	<!--指定項(xiàng)目中的公有依賴-->
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<!--指定使用maven 打包-->
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.1</version>
				<configuration>
					<source>${java.version}</source>
					<target>${java.version}</target>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.19.1</version>
				<configuration>
					<skipTests>true</skipTests>    <!--默認(rèn)關(guān)掉單元測試 -->
				</configuration>
			</plugin>
		</plugins>
	</build>

</project>

這里有個(gè)坑需要注意,dao、service、entity這三個(gè)模塊的pom.xml文件中不需要build 內(nèi)容,直接干掉

entity 的 pom.xml 內(nèi)容

<?xml version="1.0" encoding="UTF-8"?>
<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>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.1.3.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.mr</groupId>
	<artifactId>entity</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>entity</name>
	<description>Demo project for Spring Boot</description>

	<properties>
		<java.version>1.8</java.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

</project>

dao 的 pom.xml 內(nèi)容

<?xml version="1.0" encoding="UTF-8"?>
<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>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.1.3.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.mr</groupId>
	<artifactId>dao</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>dao</name>
	<description>Demo project for Spring Boot</description>

	<properties>
		<java.version>1.8</java.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>2.0.0</version>
		</dependency>

		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<!--引入entity-->
		<dependency>
			<groupId>com.mr</groupId>
			<artifactId>entity</artifactId>
			<version>0.0.1-SNAPSHOT</version>
		</dependency>
	</dependencies>


</project>

service 模塊的 pom.xml 內(nèi)容

<?xml version="1.0" encoding="UTF-8"?>
<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>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.1.3.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.mr</groupId>
	<artifactId>service</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>service</name>
	<description>Demo project for Spring Boot</description>

	<properties>
		<java.version>1.8</java.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>

		<!--引入dao-->
		<dependency>
			<groupId>com.mr</groupId>
			<artifactId>dao</artifactId>
			<version>0.0.1-SNAPSHOT</version>

		</dependency>
		<!--引入entity-->
		<dependency>
			<groupId>com.mr</groupId>
			<artifactId>entity</artifactId>
			<version>0.0.1-SNAPSHOT</version>
		</dependency>
	</dependencies>


</project>

web模塊的 pom.xml 內(nèi)容

注意build部分,因?yàn)閣eb模塊作為程序的入口啟動(dòng),所以它需要打包,并且要指定Main Class

<?xml version="1.0" encoding="UTF-8"?>
<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>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.1.3.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.mr</groupId>
	<artifactId>web</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>web</name>
	<description>Demo project for Spring Boot</description>

	<properties>
		<java.version>1.8</java.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>2.0.0</version>
		</dependency>

		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<!--引入dao-->
		<dependency>
			<groupId>com.mr</groupId>
			<artifactId>dao</artifactId>
			<version>0.0.1-SNAPSHOT</version>

		</dependency>
		<!--引入entity-->
		<dependency>
			<groupId>com.mr</groupId>
			<artifactId>entity</artifactId>
			<version>0.0.1-SNAPSHOT</version>
		</dependency>

		<!--引入service-->
		<dependency>
			<groupId>com.mr</groupId>
			<artifactId>service</artifactId>
			<version>0.0.1-SNAPSHOT</version>
		</dependency>

	</dependencies>


	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<!-- 指定該Main Class為全局的唯一入口 -->
					<mainClass>com.mr.WebApplication</mainClass>
					<layout>ZIP</layout>
				</configuration>
				<executions>
					<execution>
						<goals>
							<goal>repackage</goal><!--可以把依賴的包都打包到生成的Jar包中-->
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

</project>

到此為止所有的依賴全部完成!接下來就是測試!做了一個(gè)簡單的查詢
在web的項(xiàng)目里application.properties配置文件里 添加以下配置

# mybatis 配置
#使用mybatis配置文件,需要指定該文件的文件路徑
#指定mapper.xml文件的路徑,如果mapper.xml與接口在一起則不需要該配置

mybatis.mapper-locations=classpath:mapper/*Mapper.xml
#掃描pojo包中的實(shí)體類并起別名
mybatis.type-aliases-package=com.mr
#日志級(jí)別改為debug可以顯示sql語句,logging.level后為存放mapper接口的包
logging.level.com.mr.mapper=debug
# 開啟駝峰命名法 mybatis.configuration.map-underscore-to-camel-case: true
mybatis.configuration.map-underscore-to-camel-case=true

#配置數(shù)據(jù)源
#德魯伊 連接池
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.username=ws
spring.datasource.password=1
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
# 必須加?號(hào)后內(nèi)容 北京時(shí)間東八區(qū)
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/redis?serverTimezone=GMT%2B8

在web項(xiàng)目里 pom.xml 中添加以下坐標(biāo)

	<!--連接池-->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid-spring-boot-starter</artifactId>
			<version>1.1.10</version>
		</dependency>

		<!--引入freemarker-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-freemarker</artifactId>
		</dependency>

entity 模塊里 在com.mr包下 創(chuàng)建實(shí)體類

public class User {
 private  Integer  userId;
    private  String   userName;
    private  String   userPass;
    @DateTimeFormat(pattern ="yyyy-MM-dd HH-mm-ss")
    private Date userDate;

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getUserPass() {
        return userPass;
    }

    public void setUserPass(String userPass) {
        this.userPass = userPass;
    }

    public Date getUserDate() {
        return userDate;
    }

    public void setUserDate(Date userDate) {
        this.userDate = userDate;
    }

    @Override
    public String toString() {
        return "User{" +
                "userId=" + userId +
                ", userName='" + userName + '\'' +
                ", userPass='" + userPass + '\'' +
                ", userDate=" + userDate +
                '}';
    }

    public User() {
        super();
    }

    @Override
    public int hashCode() {
        return super.hashCode();
    }

    @Override
    public boolean equals(Object obj) {
        return super.equals(obj);
    }

    @Override
    protected Object clone() throws CloneNotSupportedException {
        return super.clone();
    }

    @Override
    protected void finalize() throws Throwable {
        super.finalize();
    }
    }

在dao模塊下 com.mr 包下 創(chuàng)建接口

@Mapper  //保證被掃描到
public interface UserDao {
    List<User> queryUser();
}

然后創(chuàng)建 mapper.xml 文件 與web.xml 配置文件路徑一致 按下圖操作

在這里插入圖片描述

@Mapper  //保證被掃描到
public interface UserDao {
    List<User> queryUser();
}

在service 模塊 com.mr包下創(chuàng)建 UserService 接口 并創(chuàng)建對(duì)應(yīng)的實(shí)現(xiàn)類 UserServiceImpl

在這里插入圖片描述

@Service("userService")
public class UserServiceImpl implements UserService {
    @Autowired
    private UserDao userDao;

    @Override
    public List<User> queryService() {
        return userDao.queryUser();
    }
}

在 web 模塊下 com.mr包下創(chuàng)建對(duì)應(yīng)的 UserController 代碼如下

@Controller
public class UserController {

    @Autowired
    private UserService userService;

    @RequestMapping("queryUser")
    public  String   queryUser(ModelMap map){
       List<User> list= userService.queryService();
       map.put("list",list);
       return "list";
    }
}

這里需要建立list.ftl 頁面在web 模塊下的resource-----templates創(chuàng)建

在這里插入圖片描述

<#list list as user>
   ${user.userId}
   ${user.userName}
   ${(user.userDate?string("yyyy-MM-dd HH-mm-ss"))!"沒有設(shè)置時(shí)間"}  <#--!后如果為空的話 需要顯示的內(nèi)容-->

</#list>

具體的freemarker 使用-----http://m.fzitv.net/article/236936.htm

在web 模塊的 WebApplication 啟動(dòng)項(xiàng)目
訪問queryUser 效果如下: 這里展示的是數(shù)據(jù)庫數(shù)據(jù)

在這里插入圖片描述

打包可執(zhí)行jar

因?yàn)樗械膒om.xml有已經(jīng)配置好了,只需要?jiǎng)邮诌\(yùn)行 package打包動(dòng)作就行了,第一次打包不需要clean,記住以后每次打包之前clean一下,關(guān)于為什么打jar包,不打war包這個(gè)問題,還有其它會(huì)遇到的問題,最后說明

在這里插入圖片描述

雙擊運(yùn)行package,看到BUILD SUCCESS 就證明打包成功了 前提是你的每一個(gè)模塊下的pom.xml要配置好,誰需要打包,誰不需要打包,誰依賴誰,父工程是否聲明了子模塊,子模塊是否聲明了父工程是誰,這些是重點(diǎn)!否則 會(huì)焦頭爛額

在這里插入圖片描述

接下來去找你工程目錄,web文件夾下的target文件夾,剛才打包好的jar文件,就放在這里了

在這里插入圖片描述

使用 java -jar web-0.0.1-SNAPSHOT.jar 命令來測試運(yùn)行打包的可執(zhí)行jar文件

在這里插入圖片描述

執(zhí)行成功 !?。。?!

到此這篇關(guān)于springboot實(shí)現(xiàn)maven多模塊和打包部署的文章就介紹到這了,更多相關(guān)maven多模塊和打包部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java Kafka實(shí)現(xiàn)延遲隊(duì)列的示例代碼

    Java Kafka實(shí)現(xiàn)延遲隊(duì)列的示例代碼

    kafka作為一個(gè)使用廣泛的消息隊(duì)列,很多人都不會(huì)陌生。本文將利用Kafka實(shí)現(xiàn)延遲隊(duì)列,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以嘗試一下
    2022-08-08
  • Java?Calendar類使用之日期和時(shí)間處理指南

    Java?Calendar類使用之日期和時(shí)間處理指南

    這篇文章主要給大家介紹了關(guān)于Java?Calendar類使用之日期和時(shí)間處理指南的相關(guān)資料,Calendar類是Java中用于處理日期和時(shí)間的抽象類,它提供了一種獨(dú)立于特定日歷系統(tǒng)的方式來處理日期和時(shí)間,需要的朋友可以參考下
    2023-12-12
  • 超詳細(xì)解釋Java反射

    超詳細(xì)解釋Java反射

    本文非常詳細(xì)的講解了java反射具體的內(nèi)容以及使用,java反射在現(xiàn)今的使用中很頻繁,希望此文可以幫大家解答疑惑,可以幫助大家理解
    2021-11-11
  • 淺析對(duì)Spring?aware接口理解

    淺析對(duì)Spring?aware接口理解

    通過aware接口可以獲取Spring容器相關(guān)信息,但這樣會(huì)與Spring容器耦合,這篇文章主要介紹了Spring?aware接口理解,需要的朋友可以參考下
    2022-08-08
  • 使用Mybatis如何實(shí)現(xiàn)多個(gè)控制條件查詢

    使用Mybatis如何實(shí)現(xiàn)多個(gè)控制條件查詢

    這篇文章主要介紹了使用Mybatis如何實(shí)現(xiàn)多個(gè)控制條件查詢,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • JDK1.8源碼下載及idea2021導(dǎo)入jdk1.8源碼的詳細(xì)步驟

    JDK1.8源碼下載及idea2021導(dǎo)入jdk1.8源碼的詳細(xì)步驟

    這篇文章主要介紹了JDK1.8源碼下載及idea2021導(dǎo)入jdk1.8源碼的詳細(xì)步驟,在文章開頭就給大家分享了JDK1.8源碼下載地址和下載步驟,告訴大家idea2021.1.3導(dǎo)入JDK1.8源碼步驟,需要的朋友可以參考下
    2022-11-11
  • spring異步service中處理線程數(shù)限制詳解

    spring異步service中處理線程數(shù)限制詳解

    這篇文章主要給大家介紹了關(guān)于spring異步service中處理線程數(shù)限制的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用spring具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • SpringBoot實(shí)現(xiàn)配置文件加密的方案分享

    SpringBoot實(shí)現(xiàn)配置文件加密的方案分享

    項(xiàng)目的數(shù)據(jù)庫密碼、redis 密碼等明文展示在配置文件中會(huì)有潛在的風(fēng)險(xiǎn),因此采用合適的安全防護(hù)措施是有必要的,下面小編就為大家介紹一下SpringBoot中配置文件加密的方法,希望對(duì)大家有所幫助
    2023-11-11
  • Java的Finalizer引發(fā)的內(nèi)存溢出問題及解決

    Java的Finalizer引發(fā)的內(nèi)存溢出問題及解決

    本文介紹了Java中的Finalizer機(jī)制,解釋了當(dāng)類實(shí)現(xiàn)finalize()方法時(shí),JVM的行為和潛在的風(fēng)險(xiǎn),通過一個(gè)示例程序,展示了實(shí)現(xiàn)finalize()方法會(huì)導(dǎo)致大量對(duì)象存活,最終引發(fā)OutOfMemoryError,文章分析了GC日志,解釋了Finalizer線程和主線程之間的競爭
    2025-03-03
  • springboot2整合redis使用lettuce連接池的方法(解決lettuce連接池?zé)o效問題)

    springboot2整合redis使用lettuce連接池的方法(解決lettuce連接池?zé)o效問題)

    這篇文章主要介紹了springboot2整合redis使用lettuce連接池(解決lettuce連接池?zé)o效問題),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12

最新評(píng)論

托克托县| 莱芜市| 高淳县| 临澧县| 大同县| 南皮县| 香格里拉县| 南丰县| 林西县| 兰州市| 汕头市| 石家庄市| 班玛县| 东乌珠穆沁旗| 卓资县| 祁东县| 巴林左旗| 丹阳市| 潮安县| 石棉县| 砚山县| 靖边县| 若尔盖县| 马鞍山市| 济源市| 南城县| 宁津县| 瑞昌市| 色达县| 西乡县| 麻栗坡县| 墨脱县| 县级市| 梅州市| 建湖县| 昭觉县| 长寿区| 平安县| 长宁区| 松阳县| 抚松县|