3.IOC之注解配置

1.编写Spring框架核心配置文件applicationContext.xml
在项目目录“/src/main/resources”下新建applicationContext.xml文件,具体代码如下。

<?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
        https://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.steven.service"></context:component-scan>
</beans>

可以看出注解配置和xml配置的文件的区别在于context-component-scan标签,这是Spring框架自定义的xml标签,通过base-package的属性,指明需要被自动扫描的类的所在位置。

2.编写业务代码
在项目目录“/src/main/java/com/steven”下新建service目录,并在service目录下新建IUserService接口和UserServiceImpl实现类,具体代码如下。
(1).IUserService

public interface IUserService {
    public void saveUser();
}

(2).UserServiceImpl

@Repository
public class UserServiceImpl implements IUserService {

    public void saveUser() {
        System.out.println("service的save方法执行了");
    }
}

3.编写测试类
在项目目录“/src/main/java”下新建Test类,具体代码如下。

public class Test {

    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
        IUserService service = (IUserService) context.getBean("userServiceImpl");
        service.saveUser();
    }
}
service的save方法执行了

4.注解
注解配置和xml配置实现的功能是一样的,只不过实现的方式不同,比如实例化对象,设置属性,设置作用范围,生命周期的方法执行等等。
(1).功能分类

  • 创建对象:对应xml文件中配置的一个bean标签,可以定义id、name、class等属性。
  • 注入数据:对应xml文件中bean标签的property,给类中的属性赋值。
  • 作用范围:对应xml文件中bean标签的scope,给类设置单例还是多例,默认是单例。
  • 生命周期:对应xml文件中bean标签的init-method和destroy-method,给类设置初始化和销毁执行方法。

(2).创建对象

  • @Component:一般用于通用组件类上使用的注解。
  • @Controller: 一般用于控制层类上使用的注解。
  • @Service: 一般用于业务层类上使用的注解。
  • @Repository:一般用于持久层类上使用的注解。

5.工程目录
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值