(1)配置文件的配置方法

    科技2023-11-20  83

    (1)配置文件的配置方法

    1. 数据库配置:2. MVC配置:3. 插件配置:4. Action:5. API:6. Service:7. Redis配置:

    学习提要 (1)掌握项目的配置文件的配置方法,主要包括数据库配置,MVC配置,插件配置,Action,API,Service,Redis配置等 1、fsr.properties 开发框架的全局配置文件,在各个中间件模块均可能用到配置示例: ##### dao配置 ##### #SQL语句是否在执行期间输出到控制台 fsr.dao.debug=true #HttpClient是否调试输出请求过程数据 fsr.httpClient.debug=true Java读取httpClient的调试参数设置示例 String isHttpDebug = App.getConfig().getString("fsr.httpClient.debug"); System.out.println(isHttpDebug);

    1. 数据库配置:

    fsr-connections.xml 数据库连接配置文件,可定义多个数据源 配置示例 <?xml version='1.0' encoding='UTF-8'?> <connections xsi:schemaLocation="http://www.farseersoft.com/farseer/connections http://www.farseersoft.com/xsd/connections-4.0.xsd" xmlns="http://www.farseersoft.com/farseer/connections" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <!-- MySQL --> <connection name="default"> <property name="driver">com.mysql.jdbc.Driver</property> <property name="url">jdbc:mysql://localhost:3306/fsr4_demo?characterEncoding=utf8&amp;allowMultiQueries=true&amp;zeroDateTimeBehavior=convertToNull</property> <property name="username">root</property> <property name="password">123456</property> </connection> <!-- oracle --> <connection name="oracle"> <property name="driver">oracle.jdbc.OracleDriver</property> <property name="url">jdbc:oracle:thin:@localhost:1521:orcl</property> <property name="username">fsr4_demo</property> <property name="password">123456</property> </connection> <!-- mssql --> <connection name="mssql"> <property name="driver">net.sourceforge.jtds.jdbc.Driver</property> <property name="url">jdbc:jtds:sqlserver://localhost;DatabaseName=fsr4_demo</property> <property name="username">sa</property> <property name="password">123456</property> </connection> <!-- SQLite --> <connection name="SQLite"> <property name="driver">org.sqlite.JDBC</property> <property name="url">jdbc:sqlite:D:/sqlite_db/fsr4_demo.db</property> </connection> </connections>

    2. MVC配置:

    fsr-mvc.xml MVC配置文件配置示例 <?xml version='1.0' encoding='UTF-8'?>

    false false false false index.jsp login.jsp workbench.jsp

    <path>/help</path> <path>/web</path> <path>/wap</path> <path>/test</path> <path>/api</path> <path>/action/dm</path> <action></action> </security-ignored> </settings> ```

    3. 插件配置:

    fsr-plugins.xml

    <?xml version="1.0" encoding="UTF-8"?> <plugins xsi:schemaLocation="http://www.farseersoft.com/farseer/plugins http://www.farseersoft.com/xsd/plugins-4.0.xsd" xmlns="http://www.farseersoft.com/farseer/plugins" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <!-- Web - UI后端插件 --> <plugin id="WebActivator" activator="com.farseersoft.web.WebActivator"> <property name="appCode">demo</property> </plugin> <!-- Sys - 权限管理系统插件 --> <plugin id="SysActivator" activator="com.farseersoft.sys.SysActivator" /> <plugin id="DemoActivator" activator="com.farseersoft.demo.DemoActivator" /> </plugins> 在项目下新建包com.farseercoft.activators新建插件类,代码如下: package com.farseersoft.activators; import com.farseersoft.annotation.Activator; import com.farseersoft.plugins.BundleContext; import com.farseersoft.plugins.IActivator; @Activator public class TestActivator implements IActivator { @Override public void start(BundleContext context) throws Exception { System.out.println("启动TestActivator..."); } @Override public void stop(BundleContext context) throws Exception { } }

    注意:com.farseersoft.activators是框架约定的包,框架会自动从这个包扫描插件类并完成自动注册

    4. Action:

    Actions退回件使用包扫描方式进行注册,但需注意的是只能进行扫描当前配置的包路径,子路径的Action类会被忽略,另外Action类也必须以Action类也必须以Action结尾,否则也会被忽略。

    <?xml version="1.0" encoding="UTF-8"?> <actions xsi:schemaLocation="http://www.farseersoft.com/farseer/actions http://www.farseersoft.com/xsd/actions-4.0.xsd" xmlns="http://www.farseersoft.com/farseer/actions" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <action-scan name="dm" base-package="com.farseersoft.demo.actions" /> <action-scan name="sp" base-package="com.farseersoft.sample.actions" /> <action-scan name="cms" base-package="com.farseersoft.cms.actions" /> </actions>

    5. API:

    API推荐使用包扫描的方式进行注册,但需主义的是只能扫描当前配置的包路径。 配置示例:

    <?xml version="1.0" encoding="UTF-8"?> <apis xsi:schemaLocation="http://www.farseersoft.com/farseer/apis http://www.farseersoft.com/xsd/apis-4.0.xsd" xmlns="http://www.farseersoft.com/farseer/apis" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <!-- 扫描com.farseersoft.demo.apis包下的所有Java类 --> <api-scan base-package="com.farseersoft.demo.apis" /> <api-scan base-package="com.farseersoft.cms.apis" /> </apis>

    6. Service:

    fsr-services.xml

    <?xml version="1.0" encoding="UTF-8"?> <services xsi:schemaLocation="http://www.farseersoft.com/farseer/services http://www.farseersoft.com/xsd/services-4.0.xsd" xmlns="http://www.farseersoft.com/farseer/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <!-- demo service --> <service-scan base-package="com.farseersoft.demo.service.impl" /> </services>

    7. Redis配置:

    redis连接配置: fsr-redis.xml <?xml version="1.0" encoding="UTF-8"?> <redis xsi:schemaLocation="http://www.farseersoft.com/farseer/redis http://www.farseersoft.com/xsd/redis-4.0.xsd" xmlns="http://www.farseersoft.com/farseer/redis" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <redis-cluster> <server host="localhost" port="6379" password="fsr123"/> </redis-cluster> </redis> Jedis连接池配置 fsr-redis-beans.xml <?xml version="1.0" encoding="UTF-8"?> <beans xsi:schemaLocation="http://www.farseersoft.com/farseer/beans http://www.farseersoft.com/xsd/beans-4.0.xsd" xmlns="http://www.farseersoft.com/farseer/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <!-- Jedis连接池配置, 可以写在资源文件中 --> <bean name="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"> <!-- 最大连接数 --> <property name="maxTotal" value="30" /> <!-- 最大空闲连接数 --> <property name="maxIdle" value="10" /> <!-- 每次释放连接的最大数目 --> <property name="numTestsPerEvictionRun" value="1024" /> <!-- 释放连接的扫描间隔(毫秒) --> <property name="timeBetweenEvictionRunsMillis" value="30000" /> <!-- 连接最小空闲时间 --> <property name="minEvictableIdleTimeMillis" value="1800000" /> <!-- 连接空闲多久后释放, 当空闲时间>该值 且 空闲连接>最大空闲连接数 时直接释放 --> <property name="softMinEvictableIdleTimeMillis" value="10000" /> <!-- 获取连接时的最大等待毫秒数,小于零:阻塞不确定的时间,默认-1 --> <property name="maxWaitMillis" value="1500" /> <!-- 在获取连接的时候检查有效性, 默认false --> <property name="testOnBorrow" value="true" /> <!-- 在空闲时检查有效性, 默认false --> <property name="testWhileIdle" value="true" /> <!-- 连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true --> <property name="blockWhenExhausted" value="false" /> </bean> </beans>
    Processed: 0.009, SQL: 8