PreferencesPlaceHolderConfigurer与Proper tiesFactoryBean与context:property-placeholder区别

本文介绍了Spring框架中两种主要的属性配置方式:PropertyPlaceholderConfigurer和PropertiesFactoryBean。详细解释了它们的作用及@Value注解的不同用法,并给出了推荐的配置方式。

一、<context:property-placeholder/>这个基于命名空间的配置,其实内部就是创建一个PropertyPlaceholderConfigurer Bean。<context:property-placeholder/>配置文件中只能存在一个。
二、PropertiesFactoryBeanPropertiesLoaderSupport 直接的实现类, 专门用来管理properties文件的工厂bean,默认是单例的。
PropertyPlaceholderConfigurer是解决 properties 文件占位符问题的,也实现了 PropertiesLoaderSupport 类。
(1)使用 PropertyPlaceholderConfigurer 时, @Value表达式的用法是

@Value(value="${properties key}") 

(2)使用 PropertiesFactoryBean 时,@Value 用法 是

@Value(value="#{configProperties['properties key']}")

spring推荐使用如下方式配置:

<context:property-placeholder location="classpath:spring/jdbc.properties" />  
### Nmap 中非法端口规格错误的解决方法 在使用 Nmap 时,如果遇到 `Error #487: Your port specifications are illegal` 的错误提示,通常是因为指定的端口范围不符合 Nmap 的合法格式要求。以下是关于此问题的详细分析和解决方案: #### 错误原因 Nmap 对端口范围的定义有严格的格式要求。例如,`-p` 参数后必须跟随合法的端口范围或具体端口号[^1]。以下是一些常见的合法端口格式: - 单个端口:`-p 80` - 端口范围:`-p 20-80` - 多个端口:`-p 22,80,443` - 分协议指定端口:`-p T:22-25,U:53` 在提供的示例中,命令 `nmap -p 20.0.0.168/24` 引发了错误,因为 `-p` 参数后跟的是一个 CIDR 表示法的 IP 地址段,而非合法的端口范围[^1]。 #### 正确用法 若需要扫描特定网段内的主机是否开启了某个端口(如 80 端口),应将 `-p` 参数目标网段分开指定。例如: ```bash nmap -p 80 20.0.0.0/24 ``` 上述命令会扫描 `20.0.0.0/24` 网段内所有主机的 80 端口状态。如果需要扫描多个端口,可以指定为: ```bash nmap -p 80,443 20.0.0.0/24 ``` 若需要扫描所有端口,则可以使用 `-p-` 参数: ```bash nmap -p- 20.0.0.0/24 ``` #### 示例解析 以下是一个成功的扫描示例: ```bash nmap -p 80 20.0.0.0/24 ``` 输出结果可能类似于以下内容: ``` Nmap scan report for 20.0.0.1 Host is up (0.00021s latency). PORT STATE SERVICE 80/tcp filtered http Nmap scan report for 20.0.0.2 Host is up (0.000057s latency). PORT STATE SERVICE 80/tcp closed http Nmap done: 256 IP addresses (4 hosts up) scanned in 2.58 seconds ``` #### 注意事项 - 如果需要扫描 UDP 端口,必须明确指定协议类型。例如,扫描 UDP 53 端口可以使用以下命令: ```bash nmap -p U:53 20.0.0.0/24 ``` - 在某些情况下,目标主机的防火墙可能会阻止端口扫描,导致端口显示为 `filtered` 状态。这并不意味着端口关闭,而是无法确定其状态[^2]。 ### 总结 确保 `-p` 参数后跟随的是合法的端口范围或具体端口号,避免混用 IP 地址段或其他非法格式。通过正确指定端口和目标地址,可以有效避免 `Error #487` 的发生。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值