Spring - xml & 注解整合开发(10)

xml、注解各自的优劣

xml文件的优势是所有的配置都存放在一起,方便后期维护。劣势是比较复杂,而且开发时需要两个文件相互切换,很是不方便。注解的优势是方便快捷,劣势是不利于后期维护而且没有xml方式灵活,因为后期修改时需要修改代码。

注解不能使用的场景

对于别人已提供的工具类,如jar包等,不能使用注解配置,因为源文件已被确定,不可能再打开源文件进行修改。

整合开发

结合xml和注解两者各自的优点进行配置。注解的优势就是属性注入方便,连setters方法都可以没有。而xml的优势是结构清晰,所以使用xml文件进行配置信息结构的搭建,使用注解进行简单(基本类型和引用类型)属性的注入。

<!-- 这个扫描器可以不写,因为扫描器是用来扫描类上的注解 -->
    <context:component-scan base-package="com.spring.secondday" ></context:component-scan>

    <!-- 不开启扫描其,需要配置这个,它是让我们能再不配置扫描器的时候使用@Resource、@Value、@Autowired等属性上的注解 -->
    <context:annotation-config />

    <bean id="userDao" class="com.spring.secondday.UserDaoImpl"></bean>
    <bean id="userService" class="com.spring.secondday.UserServiceImpl"></bean>
import org.springframework.beans.factory.annotation.Value;

public class UserDaoImpl implements UserDao {

    @Value("HelloWorld")
    private String name;
    public void save() {    }
    public String toString() {
        return "UserDaoImpl [name=" + name + "]";
    }
}
import javax.annotation.Resource;

public class UserServiceImpl implements UserService{
    @Resource(name="userDao")
    private UserDao ud;
    public void save() {    }
    public String toString() {
        return "UserServiceImpl [ud=" + ud + "]";
    }
}
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test {
    public static void main(String[] args) {
        ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
        UserService us = (UserService)ac.getBean("userService");
        System.out.println(us);
        /*Console:
         *      UserServiceImpl [ud=UserDaoImpl [name=HelloWorld]]       */
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值