Spring入门系列 小白跟着一起学 (9)

学习就像是起着自行车流浪,兴趣虽好,但只是让我们开始的动力,要想真骑上几十公里,那还得靠坚持不断的打气,但你若想骑上几百公里,那还得需要勇气和自信,什么,难不成你还需要骑上几千公里,那终点一定有你需要去实现的东西

注解开发

Spring框架的注解开发是一种轻量级的开发方式,它可以使开发者更加方便快捷地实现对象的实例化、配置、依赖注入等操作,大大降低开发难度。下面是Spring框架注解开发的一些常用注解及其作用:

@Component
@Component注解是一种通用的注解,它可以标记类为一个组件,表示对该类进行实例化并交由 Spring容器托管。@Component注解还有一些衍生的注解,如@Service、@Controller、@Repository等,它们在@Component注解的基础上增加了一些特殊功能,如@Service注解用于业务逻辑层,@Controller注解用于控制器层,@Repository注解用于数据访问层。

@Autowired
@Autowired注解是实现自动装配的关键注解,它可以自动将依赖的对象注入到当前对象中。@Autowired注解可以用于字段、构造方法和普通方法上。

@Value
@Value注解用于对属性进行赋值,它可以将配置文件中的属性值注入到类中的属性中,从而实现更加灵活的配置。@Value注解也可以用于其他注解中,如@Bean、@Component等。

@RequestMapping
@RequestMapping注解用于定义请求的URL地址,它可以标注在类和方法上,用来映射请求URL,从而可以通过浏览器发送 HTTP 请求进行触发。@RequestMapping注解可以设置请求方法、请求参数、请求头等信息。

@Configuration
@Configuration注解表示当前类为Spring的一个配置类,它用于定义Spring容器中的Bean对象及其依赖关系。@Configuration注解还可以和@Bean注解配合使用,实现自定义Bean的装配。

这些注解只是 Spring注解开发中的一部分,还有许多其他注解,如@PostConstruct、@PreDestroy、@Qualifier等,它们都是 Spring框架注解开发中不可或缺的部分,可以大大提高我们的开发效率。
现在我们可以先将applicationContext文件中的内容修改一种写的方式了

<!--  探索注解开发  -->
<!--    <bean id="testDemo18" class="com.javala.dao1.TestDemo18"/> 改为如下-->
<context:component-scan base-package="com.javala.dao2"/>

我们在上面代码中写的意思就是去扫描dao2包中,那么我们便需要在dao2包中写好文件了

@Component("testDemo18")  // 服务于注解开发 testDemo18就是那个bean的id一样的效果
public class TestDemo18 {
    public void say() {
        System.out.println("aha!");
    }
}

最后案例使用类(与前面的xml配置时一样的写法)

public class App14 {
    public static void main(String[] args) {
        ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");

        TestDemo18 testDemo18 = (TestDemo18) ctx.getBean("testDemo18");
        System.out.println(testDemo18);
        testDemo18.say();
    }
}

运行到这,难免有些人会报错,比如版本错误(因为这里只有jdk8才支持,高的反而不行)

版本解决办法

跟着图片操作
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
这时就调换成功了

既然发现注解开发好用,那就只能继续探索更加好用的方法了
Spring官方建议:
业务层使用:@Service
数据层使用:@Repository
控制层使用:@Controller

学到这就可以发现原来注解开发那么方便,那为什么还掺杂了一点基于XML配置文件的开发呢?

纯注解开发模式

1.新建一个类来代替XML配置文件
在这里插入图片描述
2.SpringConfig中内容

@Configuration  // 指示此类为SpringBean配置类
@ComponentScan("com.javala")  // 用于自动扫描并注册来自指定包及其子包中的Spring组件
public class SpringConfig {
}

3.实例运用类也发生一些小的改变

public class App15 {
    public static void main(String[] args) {
    // 下面一行代码发生小改变
        ApplicationContext ctx = new AnnotationConfigApplicationContext(SpringConfig.class);

        TestDemo18 testDemo18 = (TestDemo18) ctx.getBean("testDemo18");
        System.out.println(testDemo18);
        testDemo18.say();
    }
}

运行后效果有效

扫描多个

@ComponentScan({"com.javala.dao2","com.javala.dao1"})

总结

那么学到这我们就已经掌握了注解开发的基础内容

我是哈利巴多先生,如果觉得不错,还望多多鼓励(文章不定时更新)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值