Spring框架(1)
Spring是什么,做什么事情,使用有什么好处…
1、Spring是什么
Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。
通俗点说,spring是一个开源轻量级的一站式框架。
2、做什么事情
用来解决耦合问题。
3、Spring是一站式框架
(1) 表现层(文web层)、业务逻辑层(service层)、dao层
(2)Spring针对三层结构,在每一层都提供解决技术
web层:SpringMVC
Service:IOC
Dao层:jdbcTemplate
4、入门案例
(1)导入Spring相应的jar包
(2)创建一个普通类。在这个类创建方法
public class User{
public void add(){
System.out.println("add..................");
}
}
(3)创建Spring配置文件,在配置文件创建对象
Spring配置文件建议放在src下面,配置文件名称建议applicationContext.xml
在applicationContext.xml中配置对象
<!--配置对象-->
<bean id="user" class="com.xxx.helloworld.User"></bean>
5、Spring的IOC
(1)什么是IOC
控制反转,比如现在有一个类,创建这个类对象,使用普通方法new对象。使用IOC时候,不需要new对象,把对象的创建交给Spring完成。
*Spring把对象给我们创建出来了,我们直接使用就可以了
*上面的入门案例就是IOC实现
(2)IOC底层原理
XML(解析)、工厂模式。反射
首先解析xml文件,其次创建工厂类,在工厂类中通过反射创建类。
6、BeanFactory
(1)BeanFactory:IOC容器的基本实现,是Spring内部的基础设施,是面向Spring本身的,不是提供给开发人员使用的。
(2)ApplicationContext:BeanFactory的子接口,提供了更多高级特性。面向Spring的使用者,几乎所有场合都使用ApplicationContext而不是底层的BeanFactoy。
7、Bean管理
(1)
*xml配置文件方式实现
*基于注解实现
Spring创建对象
Spring注入属性
(2)使用bean标签配置,在bean标签里面使用属性
<!--
*id属性:唯一标识
*class属性:类全路径名(包类路径)
**在bean标签里面还有一个属性name,name属性和id属性是相同的
***name属性类似于java里面过时方法,针对于之前struts1框架提供的
***在id属性里面不能有特殊符号,在name属性里面可以有‘/’-->
(3)创建对象的时候,默认也是会执行无参构造器
8、DI:依赖注入,就是注入属性
(1)第一种方式:使用set方法注入
*定义属性,生成set方法
public class Book{
private String bname;
private String bauthor;
//生成set方法
public void setBname(String bname){
this.bname = bname;
}
public void setBauthor(String bauthor){
this.bauthor = bauthor;
}
}
*在配置文件进行配置
<bean id="book" class="com.atguigu.di.Book">
<!-- 注入属性,使用set方法注入
name:注入类属性名称
value:注入属性值
-->
<property name="bname" value="易筋经"></property>
<property name="bauthor" value="达摩"></property>
</bean>
(2)第二种方式:使用有参数构造注入
*创建属性,生成有有参数构造
public class Book{
private String pname;
private double price;
public Book(String pname,double price){
this.pname = pname;
this.price = price;
}
}
- 在配置文件中进行配置