• 用JSR的@Inject代替@Autowired完成自动装配


    从spring3.0开始spring支持JSR-330 的标准注解。主要是javax.inject这个包下的:

    下面的例子用@Inject代替@Autowired。完成自动装配:

    MovieFinder的代码如下:
    package com.timo.demo;
    
    import org.springframework.stereotype.Component;
    
    @Component
    public class MovieFinder {
        private String name;
        public void findMovies(){
            System.out.println("1,2,3");
        }
    }

    SimpleMovieLister的代码如下:

    package com.timo.demo;
    
    import org.springframework.stereotype.Component;
    
    import javax.inject.Inject;
    import javax.inject.Provider;
    @Component
    public class SimpleMovieLister {
        @Inject
        private Provider<MovieFinder> movieFinder;
    
        public void setMovieFinder(Provider<MovieFinder> movieFinder) {
            this.movieFinder = movieFinder;
        }
        public void listMovies(){
            movieFinder.get().findMovies();;
        }
    }

    配置类的代码如下:

    package com.timo.demo;
    
    import org.springframework.context.annotation.ComponentScan;
    
    @ComponentScan(basePackageClasses = DemoAppConfig.class)
    public class DemoAppConfig {
    }

    测试类的代码如下:

    package com.timo.demo;
    
    import org.springframework.context.annotation.AnnotationConfigApplicationContext;
    
    public class Test {
        public static void main(String[] args) {
            AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(DemoAppConfig.class);
            SimpleMovieLister movieLister = applicationContext.getBean(SimpleMovieLister.class);
            movieLister.listMovies();
        }
    }
  • 相关阅读:
    如何让背景图片全屏显示
    浅谈图片如何在页面中居中显示
    clientHeight、offsetHeight 区别 笔记
    使用Flexible实现手淘H5页面的终端适配
    max(min)-device-width和max(min)-width的区别
    HTML5 meta最全使用手册
    常见浏览器兼容性问题与解决方案
    响应式设计的性能优化(转)
    移动H5前端性能优化指南
    SQL Server Profiler使用方法
  • 原文地址:https://www.cnblogs.com/1540340840qls/p/7928892.html
Copyright © 2020-2023  润新知