什么是Spring?
Spring开发方向:分布式,微服务,网站
Spring技术(全家桶):Spring Framework、Spring boot、Spring Cloud
Spring Framework(4.x)
是spring体系中最基础的项目,是其他项目的根基
core container(核心容器)
目的:管理对象的模块,充分解耦
使用时,不主动使用new产生对象,转为由外部提供对象
IoC/DI
IoC(inversion of control)控制翻转:由主动new产生对象转换为由外部提供对象
DI(dependency injection)依赖注入:在容器中建立bean与bean之间的依赖关系的整个过程
IoC容器
spring将IoC容器当作外部,来控制提供对象
IoC容器负责:对象创建,初始化……
Bean
Bean是在IoC容器被创建或被管理的对象
IoC使用(入门)
1.在pom.xml中依赖模块
2.在resource中创建spring config文件
3.配置bean
bean标签:id(名字),class(定义类型),name(取别名),scope(是否为单例)
4.写main方法
public class App2 {
public static void main(String[] args) {
//获取IoC容器
ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");
//获取bean
BookDao bookDao=(BookDao) ctx.getBean("bookDao");
bookDao.save();
}
}
DI操作(入门)
1.不能出现new对象,要写set方法
public class BookServiceimpl implements BookService {
private BookDao bookDao;
public void save(){
System.out.println("book service save");
bookDao.save();
}
public void setBookDao(BookDao bookDao){
this.bookDao=bookDao;
}
}
2.写property
name表示配置哪个具体的属性
ref表示参照哪一个bean(投入bean的id)
<bean id="bookDao" class="org.example.dao.impl.BookDaoimpl"/>
<bean id="bookService" class="org.example.service.impl.BookServiceimpl">
<property name="bookDao" ref="bookDao"/>
</bean>