- 浏览: 139069 次
最新评论
-
liuwei88212:
请问IMobile这个类是干嘛的?
Spring启动后获取所有拥有特定注解的Bean
文章列表
mysqldump常用方法
- 博客分类:
- MariaDB
几种常用方法:
(1)导出整个数据库(包括数据库中的数据)
mysqldump -u username -p dbname > dbname.sql
(2)导出数据库结构(不含数据)
mysqldump -u username -p -d dbname > dbname.sql
(3)导出数据库中的某张数据表(包含数据)
CentOS系统配置:主机名修改
- 博客分类:
- Linux
A:永久性修改
主机名修改:修改文件/etc/sysconfig/network
vi /etc/sysconfig/network
HOSTNAME=CentOS187.localdomain
其中HOSTNAME为主机名,修改完成后,通过
shutdown -r now
进行重启即可
B:临时修改
查看当前主机名:
hostname
临时修改主机名:
sudo hostname CentOS185
重启后,主机名又会自动恢复
将你的虚拟器运行起来,将下载好的zip包用鼠标拖到虚拟机窗口中,出现确认对跨框点OK就行。然后重启你的虚拟机。
通过Eclipse的Maven创建一个war项目,如下图所示:
习惯性的勾中跳过archetype选择,然后下一步:
选择了war形式,保存后,编译不过提示错误信息:
通过各种百度后,有提供一个变相规避错误的方法,添加配置,放过该错误提示。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
...
1,找到配置文件
vi /etc/sysconfig/iptables
2,添加端口开放,增加一行,开放18081端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 18081 -j ACCEPT
3,保存
ESC
:wq!
4,重启服务
service iptables restart
5,参数解释:
-A:指定链名
-p:指定协议类型
-d:指定目标地址
--dport:指定目标端口(destination port 目的端口)
--sport:指定源 ...
Spring装配Bean的过程
- 博客分类:
- Spring
一、Spring装配Bean的过程
1. 实例化;
2. 设置属性值;
3. 如果实现了BeanNameAware接口,调用setBeanName设置Bean的ID或者Name;
4. 如果实现BeanFactoryAware接口,调用setBeanFactory 设置BeanFactory;
5. 如果实现ApplicationContextAware,调用setApplicationContext设置ApplicationContext
6. 调用BeanPostProcessor的预先初始化方法;
7. 调用InitializingBean的afterPrope ...
最近项目中遇到一个业务场景,就是在Spring容器启动后获取所有的Bean中实现了一个特定接口的对象,第一个想到的是ApplicationContextAware,在setApplicationContext中去通过ctx获取所有的bean,后来发现好像逻辑不对,这个方法不是在所 ...
前面已经定义好了服务的契约接口以及服务的实现者(加法服务、乘法服务),
本文将开发一个服务消费者,所谓的消费者即消费服务,通过引入相应服务的jar包来自动消费相应的服务。
首先同样新建一个Java工程spi-consumer,
新建服务消费类com.fanyc.test.spi.consumer.Consumer,并添加可执行的main方法。
由于是服务消费者,必须要知道要消费的服务契约即接口定义,所以必须要引入服务契约的定义jar包spi-intface.jar。
消费服务代码如下:
package com.fanyc.test.spi.consumer;
...
本文将实现依据契约接口完成乘法法服务的实现。
做法跟前一篇 SPI入门级Demo(三:服务实现者-加法服务) 相同,直接贴出代码
PS:至于减法和除法可自行实现
package com.fanyc.test.spi.provider;
import com.fanyc.test.spi.intface.Computer;
/**
* 服务实现者:乘法运算
*
* @author Fanyc
*
*/
public class Multi implements Computer {
/**
* {@inheritDoc}
...
本文将实现依据契约接口完成加法服务的实现。
服务的实现是需要依赖契约接口的定义的,所以需要引入接口定义jar包。
新建Java工程spi-provider-add,引入spi-intface.jar。
新建com.fanyc.test.spi.provider.Add类,实现com.fanyc.test.spi.intface.Computer接口,
实现体中完成了的a和b的求和并返回。
代码如下所示:
package com.fanyc.test.spi.provider;
import com.fanyc.test.spi.intface.Comput ...
本文将介绍SPI中最重要的契约即接口定义。新建Java工程spi-intface,然后新建一个接口类,如下所示:
package com.fanyc.test.spi.intface;
/**
* 定义契约类
*
* @author Fanyc
*
*/
public interface Computer {
/**
* 定义计算方法
*
* @param a 参数1
* @param b 参数2
* @return 计算结果
*/
public int compute(int a,int b);
}
接口 ...
最近在学习软件架构以及SOA等相关知识,在学习Dubbo的时候发现SPI这个东东,就上网百度来学习一下。
SPI的全名为Service Provider Interface。
我理解的SPI就是调用者只要说明调用什么接口的什么方法即可,无需知道具体的
实现者代码,也无需在代码中实现进行关联引用。这样就将调用方和实现方进行分离,
只要共通遵循接口协议就可以了。
具体SPI的实现过程:
1,调用方和实现方共同契约确定 --- 定义接口A
2,实现方实现共同契约接口A,命名为B
3,实现方的jar包中放入文件META-INF\services\接口类全名A,文件 ...