【Spring】HelloSpring——简介与快速入门

Spring简介

Spring是什么

  • Spring是分层的J2EE轻量级开发框架,提供全栈(full-stack)解决方案,它以IOC(Inverse Of Control,反转控制)和AOP(Aspect Oriented Programming,面向切面编程)为内核。
  • 提供了展现层SpringMVC、持久层SpringJDBCTemplate、业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的JavaEE企业应用开源框架

Spring发展历程

  1. Rod Johnson(Spring之父)在2002年对臃肿而低效的JavaEE系统框架提出质疑,2004年其发布的《Expert one-on-one J2EE Development without EJB》用新的设计将其替而代之,并一战成名
  2. 传统的JavaEE并没有实现“Write Once and Run Anywhere”的承诺,而Johnson的新设计为每一层提供了简洁而强大的解决方案,这种一站式服务即「全栈」
  3. 2017年9月份发布的Spring的经典版本Spring5.0通用版(GA)成为了当今企业所寻求的目前最优解

其实,Spring和EJB孰优孰劣是个伪命题。EJB是JavaEE传统而严谨的规范,Spring是JavaEE简便而灵活的框架。 Rod Johnson的批判也并不是负面的,而是在学院派的基础上寻求更加优美的设计。

Spring的优势

  1. 方便解耦,简化开发
    通过Spring提供的IoC容器,我们可以将对象之间的依赖关系交给Spring控制,避免硬编码所造成的过度程序耦合(比如在Service层new出Dao层对象就是一个典型的耦合)。这样,可以更专注于上层的应用。
  2. AOP编程的支持
    通过Spring提供的AOP功能,方便进行面向切面的编程,简单来说就是解决OOP不好解决的问题。
  3. 声明式事务的支持
    在Spring中,我们可以从单调烦闷的事务管理代码中解脱出来(手动控制begin,commit,rollback),而是通过声明的方式灵活管理。
  4. 方便程序的测试
    在Spring里,测试不再是昂贵的操作,而是随手可做的事情。Spring对Junit支持,可以通过注解方便的测试Spring程序。
  5. 方便集成各种优秀框架
    Spring不但不排斥各种优秀的开源框架,甚至,Spring可以降低各种框架的使用难度。Spring支持Struts、Hibernate、Hessian、Quartz等。
  6. 降低Java EE API的使用难度
    Spring对很多难用的Java EE API(如JDBC,JavaMail,远程调用等)提供了一个薄薄的封装层,通过Spring的简易封装(不用手写Util类啦!),使得Java EE API的使用难度大大降低。
  7. Java源码是经典学习范例
    Spring的源码设计精妙、结构清晰、匠心独运,处处体现着大师对Java设计模式的灵活运用以及对Java技术的高深造诣。Spring框架源码无疑是Java学习的必由之路。

 
 

Spring快速入门

开发步骤

在这里插入图片描述

① 导入Spring相关包的Maven坐标

② 编写Dao接口及其实现类

③ 创建并配置xml文件实现id与完整类名class的映射

④ 使用Spring的API获取实例
 
代码实现

① 在pom.xml中引入依赖

<dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.0.5.RELEASE</version>
        </dependency>
</dependencies>

② dao层标准结构

// dao.UserDao
public interface UserDao {
    
    
    public void sayHi();
}
// dao.impl.UserDaoImpl
public class UserDaoImpl implements UserDao {
    
    

    public void sayHi() {
    
    
        System.out.println("Hello!!");
    }
    
}

③ resource下新建一个applicationContext并配置

<bean id="userDao" class="dao.impl.UserDaoImpl"></bean>

④ service层使用

public class UserDaoDemo {
    
    
    public static void main(String[] args) {
    
    
        ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
        UserDao userDao = (UserDao)app.getBean("userDao");
        userDao.sayHi();
    }
}

 
 
 
 

 
 
 
 

 
 
 
 

More >_<

猜你喜欢

转载自blog.csdn.net/m0_46202073/article/details/113737393