【spring】Spring初识

    xiaoxiao2021-03-25  141

    一,简介

        Spring 是一个开源框架,是2003年兴起的轻量级的java开发框架。简单来说,Spring是一个分层的JavaEE轻量级开源框架。     它的定位的领域是许多其他流行的frawork没有的。Spring致力于提供一种方法管理你的业务对象。(管理对象,感觉跟Hibernate思想有点像),Spring有分层的体系结构,这意味着你能够选择使用它任何孤立的地方,它的框架仍然是稳定的。比如:仅仅使用spring来简单化JDBC的使用,或者管理所有的业务对象。    Spring致力于j2EE应用的各层的解决方案,而不仅仅是某一层的方案,可以说spring是企业应用开发的“一站式”选择,并且贯穿于表现层、业务层和持久层。并且Spring并不想取代那些已经有的框架,而是和他们的无缝的整合。

       Spring的核心思想便是IoC和AOP,Spring本身是一个轻量级容器,和EJB容器不同,Spring的组件就是普通的Java Bean,这使得单元测试可以不再依赖容器,编写更加容易。Spring负责管理所有的Java Bean组件,同样支持声明式的事务管理。我们只需要编写好Java Bean组件,然后将它们"装配"起来就可以了,组件的初始化和管理均由Spring完成,只需在配置文件中声明即可。这种方式最大的优点是各组件的耦合极为松散,并且无需我们自己实现Singleton模式。

    二,使用之后? 1、不使用之前 当我们service层调用dao层的方法时,首先new一下Dao,然后调用相应的方法。

    public class UserManagerManagerImpl implements UserManager{ public void addUser(String username,String password){ //我们需要的时候,主动new,由我们的应用程序负责服务(对象)定位 UserDao userdao= new UserDaoForMysqlImp(); userdao.addUser(username, password); } } 客户端调用service层,传入相关的参数。

    public class Client { public static void main(String[] args){ //由我们的应用程序负责服务(对象)定位 UserManager usermanager = new UserManagerManagerImpl(); usermanager.addUser("张三", "123"); } }

    使用之后: 1、Service调用Dao层

    public class UserManagerManagerImpl implements UserManager{ private UserDao userDao; public void setUserDao(UserDao userDao) { this.userDao = userDao; } //添加方法 public void addUser(String username,String password){ userDao.addUser(username, password); } } 2. applicationContext.xml文件配置:

    <!-- sring 来管理对象和对象之间的依赖关系 --> <bean id="userDaoForMysql" class="com.bjpowernode.spring.dao.UserDaoForMysqlImp"/> <bean id ="userDaoForOracle" class="com.bjpowernode.spring.dao.UserDaoForOracleImpl"/> <bean id="userManager" class="com.bjpowernode.spring.manager.UserManagerManagerImpl"> <property name="userDao" ref="userDaoForMysql"/> 2、客户端调用。

    public class Client { public static void main(String[] args){ //调用BeanFactory,读取application.xml文件 BeanFactory factory=new ClassPathXmlApplicationContext("applicationContext.xml"); UserManager usermanager =(UserManager)factory.getBean("userManager"); //user中有userDao,已经交给了spring来管理 usermanager.addUser("张三", "123"); } } 三,核心和主要特征

    Spring的Ioc(控制反转和依赖注入) 控制反转:就是由容器控制程序之间的(依赖)关系,而非传统实现中,由程序代码直接操控 依赖注入:组件之间的依赖关系由容器在运行期决定 ,由容器动态的将某种依赖关系注入到组件之中 。

     主要特征有:

    控制反转、 面向切面、容器、MVC。

    四、主要内容

    Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式,如图 1 所示。 1. Spring 框架的 7 个模块,组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。

    二,优缺点? Spring优点:     1.使用Spring的IOC容器,将对象之间的依赖关系交给Spring,降低组件之间的耦合性,让我们更专注于应用逻辑     2.AOP的很好支持,方便面向切面编程。     3.对主流的框架提供了很好的集成支持,如Hibernate,Struts2,JPA等     4.Spring DI机制降低了业务对象替换的复杂性。     5.Spring的高度可开放性,并不强制依赖于Spring,开发者可以自由选择Spring部分或全部。 spring的缺点:    1. 中断了应用程序的逻辑,使代码变得不完整,不直观。此时单从Source无法完全把握应用的所有行为。    2. 将原本应该代码化的逻辑配置化,增加了出错的机会以及额外的负担。    3. 调试阶段不直观,后期的bug对应阶段,不容易判断问题所在。

    总之,在程序开发过程中,优点远远大于缺点,所以spring 框架能够被大众所接受。

    总结:

    大体上了解一下,知道有啥,接下来继续学习。

    转载请注明原文地址: https://ju.6miu.com/read-25321.html

    最新回复(0)