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

  • 学习提要
    • (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>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值