使用注解+xml配置完成spring的bean的装配

本文介绍了Spring的三大特性:IOC、DI和AOP,并重点讲解了如何使用注解和XML配置来装配bean。通过@Name、@Component、@Service、@Controller等注解声明bean,并利用@Configuration和@ComponentScan实现bean实例化。同时,文章提到了测试类中的@Autowired注解用于依赖注入,以及@ImportResource和@Bean注解在联合装配bean时的作用。最后讨论了选择XML配置还是javaConfig配置的考量因素。
摘要由CSDN通过智能技术生成

spring的三大特性

spring的三大特性分别为IOC,DI,AOP。
IOC:控制反转。即把实例化对象的权利由原本的应用程序,转移到spring容器中,进行统一的管理。应用程序不再关心对象的创建销毁。在代码中可以使用注解或在xml文件用装配bean。以这种低入侵的方式为应用程序提供实例化对象。
DI:依赖注入,是IOC的一种重要实现
一个对象的创建往往需要依赖另一个对象,比如对象A有一个B对象的成员变量,A依赖于B。IOC机制既然负责了对象的创建,那么这个依赖关系也就必须由IOC容器负责起来。负责的方式就是DI——依赖注入,通过将依赖关系xml配置文件或注解的方式完成bean装配。
AOP:一种面向切面编程的思想,利用spring的aop我们可以进一步解耦代码,例如日志的打印,和事物的控制。面向切面编程的思想就是让一段业务逻辑的代码分成多个切面去做,彼此间低耦合或者0耦合。aop底层是通过动态代理来实现的。

使用注解方式装配bean

package com.ly.spring.ioc.Impl;
import javax.inject.Named;
import com.ly.entity.Student;
import com.ly.spring.ioc.Car;

@Named("benzCar")
public class BenzCar implements Car {
    private final String carName="奔驰";


    public BenzCar() {

    }


    public BenzCar(Student student) {
        super();
        this.student = student;
    }


    private Student student;


    public Student getStudent() {
        return student;
    }
    public void setStudent(Student student) {
        this.student = student;
    }

    @Override
    public void drive() {
        System.out.println("我的是"+carName+"车");
    }
    @Override
    public String carName() {
        // TODO Auto-generated method stub
        return carName;
    }

    public void show(){
        System.out.println(student.getName() + "正在练习" + this.carName);
    }

}

这里使用@Name的注解类型,声明这是一个bean对象,括号里面为该bean对象的别名,默认是类名首字母小写。它和@Inject注解类型都是来自javax.inject jar包中的,@Name和@c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值