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://ybzwz.com/article/hiopj.html