本文共 2965 字,大约阅读时间需要 9 分钟。
视频课程链接:
Spring是一个开源的控制反转(IoC)和面向切面(AOP)的容器框架, 用来简化企业开发
版本:3.x 4.x 5.x
降低组件之间的耦合度,实现软件各层之间解耦合
Controller——>Service——>DAO
让代码结构更良好
面向接口编程
高低原则:高内聚、低耦合
开闭原则:对扩展开放、对修改关闭
提供了许多技术支持
提供了辅助类,如:JdbcTemplate、HibernateTemplate、StringUtils、CollectionUtils、StreamUtils等
提供了各种服务,如:事务管理服务、消息服务等
提供单例模式
提供了AOP技术
对主流框架提供了集成支持
集成MyBatis、Hibernate、JPA、Struts等
IoC、AOP、Data Access、Web
Inversion of Control 控制反转
public class UserServiceImpl{ //UserDao由Service创建及维护 private UserDao userDao=new UserDaoImpl(); public void regist(User user){ userDao.save(user); }}
控制反转就是指本身不负责依赖对象的创建及维护,依赖对象的创建及维护交由外部容器来负责,这样控制权发生转移,控制权转移就是控制反转。
外部容器/IoC容器:存储对象(bean)的容器
dependency injection 依赖注入
public class UserServiceImpl{ //UserDao由外部容器创建及维护 private UserDao userDao; //让容器将创建好的对象注入到Service中 public void setUserDao(UserDao userDao){ this.userDao=userDao } public void regist(User user){ userDao.save(user); }}
依赖注入就是指在运行期,由外部容器动态的将依赖对象注入到组件
org.springframework spring-core ${spring.version} org.springframework spring-beans ${spring.version} org.springframework spring-context ${spring.version} org.springframework spring-expression ${spring.version}
用来进行bean的配置,文件名可自定义,一般默认为applicationContext.xml
//获取IoC容器,读取配置文件,初始化Spring上下文ApplicationContext ac=new ClassPathXmlApplicationContext("ioc01/applicationContext.xml");//根据id获取容器中的beanHelloSpring helloSpring = (HelloSpring) ac.getBean("helloSpring");helloSpring.show();
ApplicatoinContext
ClassPathXmlApplicationContext
FileSystemXmlApplicationContext
BeanFactory
XmlBeanFactory 已过时
//ApplicationContext//ApplicationContext ac=new ClassPathXmlApplicationContext("ioc03/spring.xml");ApplicationContext ac=new FileSystemXmlApplicationContext("e:/spring.xml");SpringBean springBean= (SpringBean) ac.getBean("springBean");System.out.println(springBean);//BeanFactory//Resource resource=new ClassPathResource("ioc03/spring.xml");Resource resource=new FileSystemResource("e:/spring.xml");BeanFactory bf=new XmlBeanFactory(resource);SpringBean springBean2 = (SpringBean) bf.getBean("springBean");System.out.println(springBean2);
为bean中的属性注入值,称为数据的装配,可装配不同类型的值
简单类型(共19种)————>使用value
八种基本类型及包装类
byte short int long float double char boolean
Byte Short Integer Long Float Double Character Boolean
String Class Resource
其他bean的引用 ————>使用ref
集合类型
数组、List、Set、Map、Properties
代码块——>实例化——>数据装配——>初始化方法——>就绪——>使用——>销毁方法——>从容器销毁
读取properties文件并进行数据装配
转载于:https://blog.51cto.com/12402007/2156505