文章目录
前言
这里是spring的基础学习笔记的第一篇,一个简单的入门案例。本学习依旧是使用maven来搭建的项目,使用的spring是5.2.7版本的。
一、环境的搭建
需要导入的jar包对应的maven坐标如下:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.7.RELEASE</version>
</dependency>
二、关于控制反转(IoC)
在java的web项目中,原本的service,dao的对象需要通过new来创建,但是在Spring框架中,创建这件事情交给Spring来完成,我们只需要通过配置把需要创建对象的类放入Spring容器中即可,这被称作是控制反转。
1. Dao的简单案例:
public class BookDaoImpl implements BookDao{
//这里就不放接口的代码了,接口的代码也很简单,就是一个save方法
@Override
public void save() {
System.out.println("Insert book to database");
}
}
2.bean.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"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="bookDao" class="com.spr.day01.BookDaoImpl"></bean>
</beans>
3.通过Spring的Api完成对象的创建:
public class TestDemo {
public static void main(String[] args) {
func01();
}
public static void func01(){
String xmpath = "bean.xml";
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmpath);
BookDao bookDao = (BookDao) applicationContext.getBean("bookDao");
bookDao.save();
}
}
这样,就实现了通过spring来创建对象的功能。
三、依赖注入(DI)
刚刚上面的案例演示了,通过spring创建一个Dao对象,并且调用了对象中的方法。在web开发中,Dao只关注对数据库的操作,真正实现业务的是service,而在spring中要用到service,就必须要提到依赖注入。
1. Service的简单实现类如下:
public class BookServiceImp implements BookService{
private BookDao bookDao;
public void setBookDao(BookDao bookDao) {
this.bookDao = bookDao;
}
@Override
public void addBook() {
this.bookDao.save();
}
}
2. bean.xml中的配置如下:
<bean id="bookService" class="com.spr.day01.BookServiceImp">
<property name="bookDao" ref="bookDao"></property>
</bean>
3. 通过Spring的Api完成对象的创建:
public class TestDemo {
public static void main(String[] args) {
func01();
}
public static void func01(){
String xmlpath = "bean.xml";
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlpath);
BookService bookService = (BookService) applicationContext.getBean("bookService");
bookService.addBook();
}
}
总结
把控制反转的案例和依赖注入的案例结合起来,就是spring的简单入门案例的全部内容了。