项目第一天-创建工程

一、工程简介

    1、基于soa,将工程分为服务和表现两个层次,服务层包含业务逻辑只需要对外提供服务即可。

     2、Maven常见的打包方式:Pom、war、jar

            Pom:一般是父工程、聚合工程,管理版本号,管理依赖。

            jar:  jar文件包括java普通类、资源文件和普通文件,在maven中及是src/main/java和src/main/resource资源文件夹下面所有的文件。打包的时候自动的生成MATA-INF文件夹,用于存储maven的pom信息和MANIFFEST.MF文件。

            war:相当于一个应用程序,war包含全部的应用程序,即所有的Java类、资源文件、配置信息,jsp、js等静态资源。需要注意的是war应用war的时候,会将所有的资源拷贝到当前war相同文件夹下,重名文件会被替换。

        工程目录:     

        Taotao_parent:父工程,打包方式:pom,管理jar包的版本号

                |项目中所有的工程都要继承父工程

                    |--taotap_common 通用的工具类、通用的pojo。打包方式jar

                            |--taotao-manager服务层工程-聚合工程。pom工程

                            |--taotao-manager-dao打包方式jar

                            |--taotao-manager-pojo打包方式jar

                            |--taotao-manager-interface打包方式jar

                            |--taotao-manager-service打包方式war

                    |--taotao-manager-web:表现层工程

二、工程搭建

    修改maven本地仓库的额位置

    cd /home/lxj

    mkdir mvn_repository

    将maven安装目录下的conf目录中的setting.xml文件copy到本地仓库中并修改本地仓库的位置。

  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
  -->
<localRepository>/home/lxj/mvn_repository</localRepository>

    在eclipse中重选setting.xml问价你的位置:Windows->preferences->maven

    创建parent工程:

    group id :组织名,一般是公司的域名。

    artifacd id:工程名

    version:版本号

    packing:打包方式

    在parent的pom.xml文件中定义版本号,所有的工程都依赖它

<!-- 集中定义依赖版本号 -->
    <properties>
        <junit.version>4.12</junit.version>
        <spring.version>4.2.4.RELEASE</spring.version>
        <mybatis.version>3.2.8</mybatis.version>
        <mybatis.spring.version>1.2.2</mybatis.spring.version>
        <mybatis.paginator.version>1.2.15</mybatis.paginator.version>
        <mysql.version>5.1.32</mysql.version>
        <slf4j.version>1.6.4</slf4j.version>
        <jackson.version>2.4.2</jackson.version>
        <druid.version>1.0.9</druid.version>
        <httpclient.version>4.3.5</httpclient.version>
        <jstl.version>1.2</jstl.version>
        <servlet-api.version>2.5</servlet-api.version>
        <jsp-api.version>2.0</jsp-api.version>
        <joda-time.version>2.5</joda-time.version>
        <commons-lang3.version>3.3.2</commons-lang3.version>
        <commons-io.version>1.3.2</commons-io.version>
        <commons-net.version>3.3</commons-net.version>
        <pagehelper.version>3.4.2-fix</pagehelper.version>
        <jsqlparser.version>0.9.1</jsqlparser.version>
        <commons-fileupload.version>1.3.1</commons-fileupload.version>
        <jedis.version>2.7.2</jedis.version>
        <solrj.version>4.10.3</solrj.version>
        <dubbo.version>2.5.3</dubbo.version>
        <zookeeper.version>3.4.7</zookeeper.version>
        <zkclient.version>0.1</zkclient.version>
        <activemq.version>5.11.2</activemq.version>
        <freemarker.version>2.3.23</freemarker.version>
        <quartz.version>2.2.2</quartz.version>
    </properties>
    <dependencyManagement>
        <dependencies>
            <!-- 时间操作组件 -->
            <dependency>
                <groupId>joda-time</groupId>
                <artifactId>joda-time</artifactId>
                <version>${joda-time.version}</version>
            </dependency>
            <!-- Apache工具组件 -->
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>${commons-lang3.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-io</artifactId>
                <version>${commons-io.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-net</groupId>
                <artifactId>commons-net</artifactId>
                <version>${commons-net.version}</version>
            </dependency>
            <!-- Jackson Json处理工具包 -->
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <!-- httpclient -->
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${httpclient.version}</version>
            </dependency>
            <!-- quartz任务调度框架 -->
            <dependency>
                <groupId>org.quartz-scheduler</groupId>
                <artifactId>quartz</artifactId>
                <version>${quartz.version}</version>
            </dependency>
            <!-- 单元测试 -->
            <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>
            <dependency>
                <groupId>com.github.miemiedev</groupId>
                <artifactId>mybatis-paginator</artifactId>
                <version>${mybatis.paginator.version}</version>
            </dependency>
            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper</artifactId>
                <version>${pagehelper.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>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jms</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context-support</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>
            <!-- 文件上传组件 -->
            <dependency>
                <groupId>commons-fileupload</groupId>
                <artifactId>commons-fileupload</artifactId>
                <version>${commons-fileupload.version}</version>
            </dependency>
            <!-- Redis客户端 -->
            <dependency>
                <groupId>redis.clients</groupId>
                <artifactId>jedis</artifactId>
                <version>${jedis.version}</version>
            </dependency>
            <!-- solr客户端 -->
            <dependency>
                <groupId>org.apache.solr</groupId>
                <artifactId>solr-solrj</artifactId>
                <version>${solrj.version}</version>
            </dependency>
            <!-- dubbo相关 -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>dubbo</artifactId>
                <version>${dubbo.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.zookeeper</groupId>
                <artifactId>zookeeper</artifactId>
                <version>${zookeeper.version}</version>
            </dependency>
            <dependency>
                <groupId>com.github.sgroschupf</groupId>
                <artifactId>zkclient</artifactId>
                <version>${zkclient.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.activemq</groupId>
                <artifactId>activemq-all</artifactId>
                <version>${activemq.version}</version>
            </dependency>
            <dependency>
                <groupId>org.freemarker</groupId>
                <artifactId>freemarker</artifactId>
                <version>${freemarker.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <finalName>${project.artifactId}</finalName>
        <plugins>
            <!-- 资源文件拷贝插件 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.7</version>
                <configuration>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <!-- java编译插件 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.2</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
        <pluginManagement>
            <plugins>
                <!-- 配置Tomcat插件 -->
                <plugin>
                    <groupId>org.apache.tomcat.maven</groupId>
                    <artifactId>tomcat7-maven-plugin</artifactId>
                    <version>2.2</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

           <dependencyManagement>:依赖管理并不是管理真正的依赖,相当于一个定义。在实际要用的项目中需要重新的进行依赖。

           <pluginManagement>:插件管理,已不是使用真正的插件,相当于将要用的东西放一个地方集中第一方便管理

            <scope>:除了打包时不打包,别的时候都会全程参与,编译、测试、运行时候都会用到,部署时也不会用它,因为我们要把这个war包部署到tomcat里面去,tomcat里面都会提供servletjspAPI,如果把它也打包到war包里面,可能会有冲突。

            创建common工程

            这个工程主要是一些公用的工具类和公用依赖。继承parent工程,同时他也是一个project。

            创建mannger工程

            对common依赖,继承parent工程,他是一个Pom工程。

            创建mannger-pojo

            这是一个module工程,处于mannger下面,jar工程。

            创建mannger-dao

            这是一个module工程,处于mannger下面,jar工程。继承pojo工程

            创建mannger-interface

            这是一个module工程,继承dao,jar工程,加如mybatis,spring相关依赖。

            创建一个mannger-service

            这是一个module工程,继承interface,war工程,加入Spring相关依赖,不全目录结构,在webapp下补全WEB-INF并创建web.xml文件。

            创建mannger-web工程

          这是一个project,war工程,加入SpringMVC相关依赖。

          目录结构:

         

### 前端开发环境搭建步骤 前端开发环境的搭建通常涉及以下几个方面:安装必要的软件工具、配置开发环境以及初始化项目。以下是详细的步骤: #### 1. 安装 Node.js 和 npm Node.js 是 JavaScript 的运行时环境,npm 是其默认的包管理器。它们对于大多数前端项目的依赖管理和构建过程至关重要[^2]。 可以通过以下命令检查是否已安装 Node.js 和 npm: ```bash node -v && npm -v ``` 如果没有安装,则可以从官方站点下载适合操作系统的版本或者通过国内镜像加速安装。例如,在中国可以使用淘宝镜像来加快安装速度: ```bash npm config set registry https://registry.npmmirror.com/ ``` #### 2. 安装 Git Git 是一种分布式版本控制系统,用于跟踪代码变更和协作开发。它是现代前端开发中的必备工具之一。 可以在官方网站下载并安装最新版 Git 或者在 macOS 上直接通过 Homebrew 工具完成安装[^3]: ```bash /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" brew install git ``` #### 3. 配置 VS Code 编辑器 Visual Studio Code (简称 VS Code) 是目前最流行的轻量级代码编辑器之一,支持多种编程语言扩展插件。为了更好地进行 C/C++ 或前端开发工作流优化,需按照如下指南设置好相应组件[^1]: - **安装 VS Code**: 访问官网获取对应平台的应用程序。 - **加载推荐插件**: - 对于前端开发者来说,“ESLint”, “Prettier - Code formatter” 等都是非常有用的辅助工具; - 若从事 React/Vue 类框架工程则还需额外关注特定生态链上的调试助手比如 "Debugger for Chrome". #### 4. 初始化一个新的前端项目 创建本地仓库后即可着手准备实际业务逻辑实现之前的一些基础准备工作: - 使用 `git clone` 获取远程存储库副本至本机硬盘位置; - 利用 `npm init` 构造 package.json 文件定义应用元数据信息; - 执行 `npm install` 自动解析所有声明好的第三方模块依赖关系. #### 5. 启动服务测试页面渲染效果 最后一步就是验证整个流程无误之后能否正常预览成果啦! 多数情况下我们都会借助 live-server 这样的简易服务器快速查看改动后的HTML/CSS/JS即时反馈状况. ```javascript // 示例: 在当前目录开启静态webserver监听8080端口 npx http-server ./dist -o --port=8080 ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值