zoukankan      html  css  js  c++  java
  • Spring基础

    理解什么是Spring?

    03年,spring框架发布,通过10多年的发展,spring框架已经发展成JavaEE开发中的非常重要的一个框架。虽然还是有公司采用自己的方式来处理代码间的耦合问题,但是他们采用的方式依旧是Spring框架的基础,即:工厂模式与服务定位器模式等。

    Spring是一个从实际开发中抽取出来的框架,它对代码中需要重复解决的步骤抽象成为了一个框架。留给开发者的仅仅是与特定应用相关的部分,大大提高了企业应用的开发效率。例外、Spring也提供了一种Template设计原理,对大量的通用步骤进行了封装,开发者只需调用Template,而无须自己再次实现那些通用步骤。

       Spring是为企业应用开发提供的一个轻量级解决方案,包括:基于依赖注入的核心机制,基于AOP的声明式事务(联想下编程式事务),整合多种持久层技术的整合,整合很多优秀的WEB MVC框架等。Spring是致力于JavaEE应用各层的解决方案,而不是单单针对某一层。Spring贯穿表现层,业务层,持久层,但是Spring并不想取代那些已有的框架,而是以高度的开发性与它们无缝整合。

    Spring框架的组成结构图:

    在使用Spring框架时,必须使用到Spring Core Container(Sping容器),它代表了Spring框架的核心机制---IOC(控制反转)。

    使用Spring框架的优点:

    1、    低侵入式设计,代码的污染极低

    2、    Spring容器降低了业务对象替换的复杂性,提高了组件之间的解耦。

    3、    Spring的AOP[(Aspect Orient Programming),也就是面向切面编程] 支持允许将一些通用任务如:安全,事务,日志等进行集中式处理,从而提供了更好的复用。

    4、    Spring的ORM和DAO提供了与第三方持久化框架的良好整合,并简化了底层的数据库访问。

    5、    Spring的高度开发性,并不强制应用完全依赖于Spring,开发者可自由选择Spring框架的部分或全部。

    搭建一个简单的spring框架:

    1、    首先创建一个web应用

    2  导入必须的jar文件  需要导入的文件有:

     

    1、    编写spring框架的应用上下文配置文件applicationContext.xml,该文件发在src目录下:

    如:

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans" 
     3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     4      xmlns:p="http://www.springframework.org/schema/p" 
     5     xmlns:aop="http://www.springframework.org/schema/aop" 
     6      xmlns:tx="http://www.springframework.org/schema/tx" 
     7      xmlns:mvc="http://www.springframework.org/schema/mvc" 
     8     xmlns:context="http://www.springframework.org/schema/context" 
     9     xsi:schemaLocation="http://www.springframework.org/schema/beans
    10                         http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
    11                         http://www.springframework.org/schema/context
    12                         http://www.springframework.org/schema/context/spring-context-3.0.xsd 
    13                         http://www.springframework.org/schema/aop
    14                         http://www.springframework.org/schema/aop/spring-aop-3.0.xsd 
    15                         http://www.springframework.org/schema/tx
    16                         http://www.springframework.org/schema/tx/spring-tx-3.0.xsd 
    17                         http://www.springframework.org/schema/mvc
    18                         http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"> 
    19                                  
    20          
    21 </beans>

     建立mvc框架

     1 package com.cy.dao.impl;
     2 
     3 import com.cy.bean.UserInfo;
     4 import com.cy.dao.IUserDao;
     5 
     6 public class UserDaoImpl implements IUserDao {
     7 
     8     @Override
     9     public void addUser(UserInfo user) {//就不写实现了
    10          System.out.println(user.getName());
    11         System.out.println("这是我的持久化类的具体实现,我在这儿的作业是对对象进行持久化!");
    12     }
    13 
    14 }
     1 package com.cy.service.impl;
     2 
     3 import com.cy.bean.UserInfo;
     4 import com.cy.dao.IUserDao;
     5 import com.cy.service.IUserService;
     6 
     7 public class UserServiceImpl implements IUserService{
     8    private IUserDao dao;
     9    public void setUserDao(IUserDao dao){
    10        this.dao=dao;
    11    }
    12     @Override
    13     public void addUser(UserInfo user) {
    14         dao.addUser(user);
    15         
    16     }
    17 
    18 }

    再到.xml文件中配置

    1 <!-- id:指唯一标识,class:类路径 -->
    2      <bean id="userServiceImpl" class="com.cy.service.impl.UserServiceImpl">
    3        <property name="userDao" ref="userDaoImpl"></property>
    4      </bean>
    5      <bean id="userDaoImpl" class="com.cy.dao.impl.UserDaoImpl"></bean>     
     1 package com.cy.action;
     2 
     3 import org.springframework.context.ApplicationContext;
     4 import org.springframework.context.support.ClassPathXmlApplicationContext;
     5 
     6 import com.cy.bean.UserInfo;
     7 import com.cy.service.IUserService;
     8 
     9 public class UserAction {
    10     
    11     public static void main(String[] args) {
    12         ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");    
    13         IUserService service=(IUserService) ac.getBean("userServiceImpl");    
    14         UserInfo user=new UserInfo();
    15         user.setName("小明");
    16         service.addUser(user);
    17         
    18         
    19         
    20     }
    21 
    22 }

    结果为:

    小明
    这是我的持久化类的具体实现,我在这儿的作业是对对象进行持久化!

    接下来会详细讲这里面的内容!

  • 相关阅读:
    Linux查看进程和已知端口是否启动
    plsql安装
    windows中用批处理文件删除n天前的文件
    阿里云服务器25邮件端口问题
    通过rpm安装crontab
    [RHEL7.1]关闭防火墙及SElinux
    有了 itchat, python 调用微信个人号从未如此简单(新增 py3 支持)
    Linux中tty、pty、pts的概念区别
    不用写代码就能实现深度学习?手把手教你用英伟达 DIGITS 解决图像分类问题
    Hadoop 2.7.3 安装配置及测试
  • 原文地址:https://www.cnblogs.com/hellokitty1/p/5068343.html
Copyright © 2011-2022 走看看