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.工程目录