Java从IoC到注解开发(3)

本文介绍了如何使用Spring的注解开发来减少XML配置,提高开发效率。通过在类上添加@Component注解,可以自动注册bean。依赖注入使用@Autowired,无需在XML中显式配置。文章通过实例展示了@ServiceDao类如何注入@SettingDao,并在测试类中运行成功。
摘要由CSDN通过智能技术生成

我在网上看了很多写注解开发,写的模棱两可的,没有提及怎么使用,讲的太底层,我们先会用再去看底层的,耐心看完,绝对可以彻底搞懂

使用注解开发的最大的好处就在于可以大大的减少开发中代码的编写,柬扫那些冗余的代码

我们首先把spring-config.xml中的bean的东西都删掉,修改成这样,(推荐直接CV)

<?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:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
    <context:component-scan base-package="com.itheima" />
</beans>

增加的这行context就是和注解对应的,base-package代表要放入的包,也就是我们配置class前面的包

之前配置Spring-config.xml的时候写bean要做很多的事情,但是现在有了@Componen这个注解,一切都不用配置,我们截图看一下,都是配好的

声明一个@Component之后,在后面填写这个id值,就会自动的配置一个bean但是我们是看不到的 

我们先看普通使用

类中写成这样,记住@Component后面跟的就是bean中的id

@Component("settingDao")
public class SettingDao {

    void S(){
        System.out.println("the secoundy running");
    }
}

测试类不变

public class test {
    public static void main(String[] args) {
        ApplicationContext acc = new ClassPathXmlApplicationContext("Springconfig.xml");
        SettingDao  settingDao= (SettingDao)acc.getBean("settingDao");
        settingDao.S();
    }
}

这样我们就可以运行出结果

完全没问题,下面使用的就是依赖注入的 

依赖注入也很简单,就是使用@Autowired来进行注解,但是注解的位置不一样,这个注解得设置在我们引用的地方,因为我们需要一进来就让其注入

源码中就需要一个boolean类型的来接收,是否一进来就开始注入,默认就是true,如果有报错,手动加一个参数true就可以了,我看网上还有用@Requried的绑定在方法上面的 ,但这种方法已经不用了

 我们的SettingDao的文件不动

@Component("serviceDao")
public class ServiceDao {

    @Autowired()
    public SettingDao settingDao;

    public void setSettingDao(SettingDao settingDao) {
        this.settingDao = settingDao;
    }


    public void setting() {
        System.out.println("the main is running ");
        settingDao.S();
    }

}

service这个模块写成这样,就可以使用了,把测试文件的id接收换一换

public class test {
    public static void main(String[] args) {
        ApplicationContext acc = new ClassPathXmlApplicationContext("Springconfig.xml");
        ServiceDao  serviceDao= (ServiceDao)acc.getBean("serviceDao");
        serviceDao.setting();
    }
}

这样就可以了

当然这个只是半注解开发吧,毕竟还是需要配置xml文件,我们后面出一个使用类来配置xml文件

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全栈Demo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值