失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Spring框架是什么?Spring框架IOC容器的介绍

Spring框架是什么?Spring框架IOC容器的介绍

时间:2024-03-26 18:54:54

相关推荐

Spring框架是什么?Spring框架IOC容器的介绍

Java|java教程

容器,ioc,java

Java-java教程

本篇文章给大家带来的内容是关于Spring框架是什么?Spring框架IOC容器的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

jquery做扫雷小游戏源码,什么软件和vscode,wsl跑ubuntu,tomcat添加报错,崂山爬虫,php 输出到浏览器,遂宁教育行业seo推广,客户网站模板下载,多版本app模板包源码lzw

A、Spring开源框架的简介

vshop 源码,vscode怎么更新svn,ubuntu扫描文件,tomcat时乱码问题,爬虫宠物排名,db.inc.php,建阳区企业seo哪个好,模板下载网站源码,代码模板编辑器lzw

Spring是一个开源框架,也是于 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。

php源码 投票,vscode框架少一行,ubuntu暗装,sts怎么导入tomcat,猫眼爬虫测试,php pdo 源码,阜宁seo优化五星服务,dreamweaver个人网站素材打包lzw

Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

spring的基本框架主要包含六大模块:DAO、ORM、AOP、JEE、WEB、CORE。

Spring DAO:Spring提供了对JDBC的操作支持:JdbcTemplate模板工具类 。

Spring ORM:Spring可以与ORM框架整合。例如Spring整合Hibernate框架,其中Spring还提供HibernateDaoSupport工具类,简化了Hibernate的操作 。

Spring WEB:Spring提供了对Struts、Springmvc的支持,支持WEB开发。与此同时Spring自身也提供了基于MVC的解决方案 。

Spring AOP:Spring提供面向切面的编程,可以给某一层提供事务管理,例如在Service层添加事物控制 。

Spring JEE:J2EE开发规范的支持,例如EJB 。

Spring Core:提供IOC容器对象的创建和处理依赖对象关系 。

B、Spring下IOC容器和DI(依赖注入Dependency injection)

IOC容器:就是具有依赖注入功能的容器,是可以创建对象的容器,IOC容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。通常new一个实例,控制权由程序员控制,而”控制反转”是指new实例工作不由程序员来做而是交给Spring容器来做。。在Spring中BeanFactory是IOC容器的实际代表者。

DI(依赖注入Dependency injection) :在容器创建对象后,处理对象的依赖关系。

依赖注入spring的注入方式:

set注入方式

静态工厂注入方式

构造方法注入方式

基于注解的方式

1、set注入方式:

 控制层代码:

private OrderServiceImp orderService; public void setOrderService(OrderServiceImp orderService) { this.orderService = orderService;}

Spring配置XML文件:其中配置声明OrderAction类存在属性orderService。程式运行时候,会将已经实例化的orderService对象调用setOrderService方式注入。

2、构造器注入方式:

控制层代码:

private OrderServiceImp orderService; public OrderAction(OrderServiceImp orderService) { this.orderService = orderService; }

 Spring配置XML文件:

3、基于注解的方式(推荐使用,比较便捷少配置)

控制层代码:

@Autowired //@Resourceprivate OrderServiceImp orderService;

 服务层代码:

@Service("orderService")public class OrderServiceImp implements IOrderService { @Autowired private JavaOrderMDaoImp javaOrderMDao; @Autowired private JavaOrderDDaoImp javaOrderDDao; @Override public List findOrderM(OrderSearch search) { return javaOrderMDao.findJavaOrderM(search); } @Override public List findOrderD(OrderSearch search) { return javaOrderDDao.findJavaOrderD(search); }}

DAO层代码:

@Repository("javaOrderMDao")public class JavaOrderMDaoImp extends BaseHibernateDAO implements IJavaOrderMDao {...}

@Repository("javaOrderDDao")public class JavaOrderDDaoImp extendsBaseHibernateDAO implements IJavaOrderDDao {...}

注意点:

⑴ 持久层DAO层注解Repository中规定了名称,在Service层中声明名称必须一致。

⑵ 服务层Service层注解Service中规定了名称,在控制层中声明的名称必须一致。

⑶ 注解方式注入依赖注解:

@Component 把对象加入ioc容器,对象引用名称是类名,第一个字母小写@Component(“name”) 把指定名称的对象,加入ioc容器@Repository 主要用于标识加入容器的对象是一个持久层的组件(类)@Service 主要用于标识加入容器的对象是一个业务逻辑层的组件@Controller 主要用于标识加入容器的对象是一个控制层的组件@Resource注入属性(DI), 会从容器中找对象注入到@Resource修饰的对象上@Autowired 注入属性(DI), 会从容器中找对象注入到@Autowired修饰的对象上

⑷ 注解可以简化配置,提升开发效率,但是也不利于后期维护。

注:@Autowired与@Resource的区别

如果觉得《Spring框架是什么?Spring框架IOC容器的介绍》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。