zoukankan      html  css  js  c++  java
  • 配置问题总结

    编码的问题转为配置的问题,这样简化了逻辑。

    尤其是在对于webx、maven这种框架、工具。

    Webx

    视图层

    写的是vm代码。一般主要内容在screen中,screen引用

    $control.setTemplate("home:pageTitle.vm").setParameter("pageTitle","查询记录")

    这行代码中的home这个标签在webx-home.xml中的component中设置

    <a href="$queryModule.setTarget('/detail_query.vm')"><font size="3">会员具体信息</font></a>

    这行代码中的home这个标签在uris.xml中设置以支持${xxx}替换

    <uris:turbine-uri id="queryModule" exposed="true" extends="serverContent">
                <componentPath>/query</componentPath>
            </uris:turbine-uri>

    autoconfig

    这个在src/main/webapp/META-INF/autoconf下配置模板。能够用于引用外部配置量

    version=${club_version}
    production=${club_production}
    output=${club_output}
    SystemId=${club_SystemId}

    然后在auto-config.xml中生成配置文件

    <script>
            <generate template="club.properties.vm" destfile="club.properties" charset="UTF-8" />
            <generate template="web.xml.vm" destfile="WEB-INF/web.xml" charset="UTF-8" />
            <generate template="logback.xml.vm" destfile="WEB-INF/logback.xml" charset="UTF-8" />
        </script>

    Spring配置文件放在src/main/resources/META-INF
    在Spring中引用那些变量通过这段代码载入

    <bean
            class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor" />
        <bean
            class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
            <property name="ignoreUnresolvablePlaceholders" value="true" />
            <property name="locations">
                <list>
                    <value>classpath:havana-club.properties</value>
                </list>
            </property>
        </bean>

    Spring

    reference
    Spring中载入配置文件是通过以下来实现的。

    <context:property-placeholder location="classpath:jdbc.properties"/>
    <!--然后就能够在以下使用了--!>
    <bean id="testDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="${test.jdbc.driverClassName}"/>
        <property name="url" value="${test.jdbc.url}"/>
        <property name="username" value="${test.jdbc.username}"/>
        <property name="password" value="${test.jdbc.password}"/>
    </bean>

    Maven

    刚開始对于maven中一个assembly.xml不理解,这个是怎样引入的。


    事实上是一个maven插件。在pom中配置
    当中不理解的就是maven里面有一些${xx}的设置找不到源头。


    maven的自己定义变量方法

    <!-- 全局属性配置。在project下 -->  
    <properties>  
        <project.build.name>tools</project.build.name>  
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
    </properties>  

    Maven内置变量说明:
    reference
    ${basedir} 项目根文件夹
    ${project.build.directory} 构建文件夹,缺省为target
    ${project.build.outputDirectory} 构建过程输出文件夹。缺省为target/classes
    ${project.build.finalName} 产出物名称。缺省为${project.artifactId}-${project.version}
    ${project.packaging} 打包类型,缺省为jar
    ${project.xxx} 当前pom文件的随意节点的内容

    pom.xml:

    <?xml version="1.0"?>
    <project
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
        xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>com.bingone.app</groupId>
            <artifactId>club</artifactId>
            <version>0.2.2</version>
        </parent>
        <artifactId>deploy</artifactId>
        <name>Havana Club Deploy</name>
    
        <properties>
            <assembly-version>2.4</assembly-version>
        </properties>
    
        <build>
            <finalName>club</finalName>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>${assembly-version}</version>
                    <executions>
                        <execution>
                            <id>assemble</id>
                            <goals>
                                <goal>single</goal>
                            </goals>
                            <phase>package</phase>
                        </execution>
                    </executions>
                    <configuration>
                        <descriptors>
                            <descriptor>assembly.xml</descriptor>
                        </descriptors>
                        <outputDirectory>${project.build.directory}</outputDirectory>
                        <appendAssemblyId>false</appendAssemblyId>
                        <attach>false</attach>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </project>

    assembly.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
    
        <id>tgz</id>
        <!-- 应用名.war(压缩包解压后的文件夹名) -->
        <baseDirectory>${project.build.finalName}.war</baseDirectory>
        <formats>
            <!-- 压缩包的格式,一律为tar.gz -->
            <format>tar.gz</format>
        </formats>
    
        <fileSets>
            <fileSet>
                <!-- 要压缩的文件夹。请按实际文件夹填写 -->
                <directory>${project.parent.build.directory}/${project.build.finalName}</directory>
                <!-- 输出的文件夹,此处为空就可以 -->
                <outputDirectory></outputDirectory>
                <includes>
                    <include>**/**</include>
                </includes>
            </fileSet>
        </fileSets>
    </assembly>
    
  • 相关阅读:
    I.MX6 Surfaceflinger 机制
    理解 Android Fragment
    RPi 2B DDNS 动态域名
    RPi 2B IPC webcam server
    理解 Android MVP 开发模式
    I.MX6 system.img unpack repack
    can't set android permissions
    VMware Ubuntu 共享文件夹
    解决oracle数据库连接不上的问题
    perfect-scrollbar示例
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/7098280.html
Copyright © 2011-2022 走看看