Spring框架
spring框架:
概念:spring通常就是指spring framework.
1.spring是一个开源的控制反转Ioc和面向切面AOP的容器框架,用来简化企业开发.
2.为什么使用spring
*降低组件之间的耦合度,实现软件个层之间的解耦合
controller-->Service----->DAO
*让代码结构更好
面向接口编程
高低原则,高内聚,低耦合
开闭原则,对扩展开放,对修改关闭
*提供了很多技术支持
提供了辅助类,如:Jdbc Template,Hibernamet Template ,StringUtils,CollectionUtils,StreamUtils等
提供了各种服务,如:事务管理服务,消息服务等
提供了单例模式
提供了AOP技术
*对主流框架提供了集成支持
集成mybatis,Hibernate,JPA,Struts等
3.Spring体系结构
Ioc,AOP,Data Access,Web
二.核心概念
1.Ioc:Inversion of Control控制反转
控制反转就是本身不赋值依赖对象的创建和维护,依赖对象的创建以及威威虎交给外部容器来负责,这样控制权发生转移,控制权转移就是控制反转
外部容器Ioc容器:存放对象(bean)的容器,spring把自己管理的对象都称为bean,或者把spring称为存放对象的容器
2.DI
dependency injection:依赖注入
IOC和DI是一个解耦的二个步骤:1IOC将控制权交给容器,2由容器将创建好的对象通过setXxxx()方法将值传递进来
public class UserserviceImpl{
//UserDao由外部容器创建以及维护
purvate UserDao userDao;
//让容器将创建好的对象注入到Service中
public void setUserDao(UserDao userDao){
this.userDao=userDao
}
public void regist(User user)
userDao.save(user)
}
1. spring框架:最基础的4个包:
1.spring-core
2.spring-beans
3.spring-context
4.spring-expression
2.核心配置文件
用来进行bean的配置,文件名可以自定义,一般默认为applicationContext.xml
3.读取spring的上下文
//获取Ioc容器,读取配置文件,初始化spring上下文
ApplicationContext ac=new ClassPathXMLApplicationContext(""/applicationContext.xml")
//根据id获取容器中的bean
HelloSpring helloSpring=(HelloSpring)ac.getBean("helloSpring");
hellpSpgring.show();