spring手动创建的对象的自动装配问题-创新互联
如果某个类的对象是由程序员手动创建的而不是spring自行创建的,那么这个对象所对应的类中就不能自动装配资源,比如@Resource,这样是会失效的.那么怎么使用需要的资源呢,可以这样
创新互联公司2013年开创至今,先为夏河等服务建站,夏河等地企业,进行企业商务咨询服务。为夏河企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。1.在使用这个类B 对象的类A中,(在A类中创建了B的对象),如果这个A是由spring管理的,(@Config,@Service)这种,那么A类是可以自动装配的,B类需要的对象比如是StringRedisTemplate redisTemplate,那么我们在A类中装配一个StringRedisTemplate redisTemplate.
2.在B类中,我们创建对应的StringRedisTemplate redisTemplate对象,只不过这个对象不加任何注解:
private StringRedisTemplate redisTemplate;
而后再B类中创建包含这个变量的构造函数:
public LoginFilter(StringRedisTemplate redisTemplate) {
this.redisTemplate = redisTemplate;
}
这样就完成了自动装配工作,在A类中的调用如下所示:
@Resource
private StringRedisTemplate redisTemplate;
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new LoginFilter(redisTemplate))
.excludePathPatterns(
"/shop/**",
"/voucher/**",
"/shop-type/**",
"/upload/**",
"/blog/hot",
"/user/code",
"/user/login"
);
}
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
本文题目:spring手动创建的对象的自动装配问题-创新互联
分享路径:http://scgulin.cn/article/hiopj.html