Spring相关注解

一. Spring注入方式总结

  1. 构造注入:通过类构造器注入依赖对象;
    // 定义接口,构造注入;
    private IDataDao iDataDao;
    public DataServiceImpl(IDataDao iDataDao){
        this.iDataDao = iDataDao;
    }
	<!-- XML定义注入关系-->
    <bean id="getDataServiceImpl1" class="fqyf.service.DataServiceImpl.DataServiceImpl">
        <constructor-arg name="iDataDao"   ref="dataDaoImpl" />
    </bean>
  1. 设值注入:通过set方法注入依赖对象;
	// 定义接口,设值注入;
    private IDataDao iDataDao;
    public void setiDataDao(IDataDao iDataDao){
        System.out.println("构造注入;");
        this.iDataDao = iDataDao;
    }
  	<!-- XML定义注入关系-->
    <bean id="getDataServiceImpl1" class="fqyf.service.DataServiceImpl.DataServiceImpl">
        <property  name="iDataDao" ref="dataDaoImpl" />
    </bean>
  1. 接口注入:通过实现接口定义的对象注入;
    public interface Hello {  
        public Random getRandom();  
        public abstract Random createRandom();  
    }  

    public class Random {  
        private int i = (int) (100 * Math.random());  
        public void printRandom() {  
            System.out.println("输出随机整数:  " + i);  
        }  
    }  

    public abstract class HelloAbstract implements Hello {  
        private Random random;  
        // 接口注入落地
        public Random getRandom() {  
            return random;  
        }  
        public void setRandom(Random random) {  
            this.random = random;  
        }  
        public abstract Random createRandom();  
    }  
    <beans>  
        <bean id="ran" class="javamxj.spring.basic.lookup.Random" singleton="false"/>  
        <bean id="hello" class="javamxj.spring.basic.lookup.HelloAbstract">  
            <lookup-method name="createRandom" bean="ran"/>  
            <property name="random">  
                <ref local="ran"/>  
            </property>  
        </bean>  

    </beans>  

二. Spring注入类型总结

  1. Autowired:
   // 自动注入,限于接口实现单一情况;
   @Autowired
  1. Qualifier(“接口实现类名称”);
   // 配合AutoWired使用;
   @Qualifier("接口实现类名称")
  1. Resource( name = "接口实现类名称 "):
   // Javax包下对对注解的实现;
   @Resource(name = "接口实现类名称")

三. Spring常用注解总结(注解名称,使用位置,作用)

    // 通用型注解
    @Component
    // 控制层注解
    @Controller
    // 业务层注解
    @Service
    // 数据访问层注解
    @Repository
    // 注解当前类为最访问优先类
    @Primary
    // web访问请求类型,定义访问位置
    @GetMapping("/sk")
    @PostMapping("/sk")
    // 定义该类为配置类
    @Configuration
    // 定义bean执行方法
    @Bean
    // 指定bean的作用范围
    @Scope(ConfigurableBeanFactory.SCOPE_SINGLETON)
    // 用于指定初始化方法
    @PostConstruct:
    // 用于指定销毁方法
    @PreDestroy
    // Spring容器初始化时扫描包
    @ComponentScan(basePackages = "fqyf.*")
    // 用于导入其他的配置类,当我们使用Import的注解之后,有Import注解的类就父配置类,而导入的都是子配置		类
    @Import
    // 指定properties文件的位置
    @PropertySource
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值