[转]Spring常用注解总结(1)


上一篇介绍了Spring的依赖注入有三种方式:

1. set设值注入
2. 构造方法注入
3. 注解注入



下面介绍各个方式,以及使用注解的好处
传统的Spring做法是使用 .xml文件来对bean进行注入。这么做有两个缺点:


1. 如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大;如果按需求分开.xml,那么.xml文件又会非常多。总之这将导致配置文件的可读性与可维护性变得很低。
2. 在开发中在.java文件和.xml文件之间不断切换,是一件麻烦的事,同时这种思维上的不连贯也会降低开发的效率。


为了解决这个问题,Spring引入了注解,通过”@XXX”的方式,让注解与Java Bean紧密结合,既大大减少了配置文件的体积,又增加了Java Bean的可读性与内聚性。


不使用注解:
先看一个不使用注解的Spring示例,在这个示例的基础上,改成注解版本的,这样也能看出使用与不使用注解之间的区别,


先定义一个老虎:

package com.spring.model;

public class Tiger {

    private String tigerName = "老虎";

    @Override
    public String toString() {
        return "Tiger [tigerName=" + tigerName + "]";
    }

}


再定义一个猴子:

package com.spring.model;

public class Monkey {

    private String monkeyName="猴子";

    @Override
    public String toString() {
        return "Monkey [monkeyName=" + monkeyName + "]";
    }


}


定义一个动物园:

package com.spring.model;

public class Zoo {

    private Tiger tiger;
    private Monkey monkey;
    public Tiger getTiger() {
        return tiger;
    }
    public void setTiger(Tiger tiger) {
        this.tiger = tiger;
    }
    public Monkey getMonkey() {
        return monkey;
    }
    public void setMonkey(Monkey monkey) {
        this.monkey = monkey;
    }
    @Override
    public String toString() {
        return "Zoo [tiger=" + tiger + ", monkey=" + monkey + "]";
    }


}


Spring的配置文件这么写:文件路径放在包路径的位置

<?xml version="1.0" encoding="UTF-8"?>
<beans
    xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-3.0.xsd
    ">

     <bean id="zoo" class="com.spring.model.Zoo" >
        <property name="tiger" ref="tiger" />
        <property name="monkey" ref="monkey" />
    </bean>

    <bean id="tiger" class="com.spring.model.Tiger" />
    <bean id="monkey" class="com.spring.model.Monkey" />

</beans>


测试方法:

package com.spring.test;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.spring.model.Zoo;

public class TestAnnotation {
    /**
     * 不使用注解
     */
    @Test
    public void test(){
        //读取spring配置文件
        ApplicationContext  ac=new ClassPathXmlApplicationContext("applicationContext.xml");
        //根据配置文件获取bean
        Zoo zoo=(Zoo) ac.getBean("zoo");
        System.out.println(zoo.toString());
    }
}


都很熟悉,权当复习一遍了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值