码迷,mamicode.com
首页 > 编程语言 > 详细

Spring--Spring入门

时间:2018-08-27 15:25:17      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:1.0   工厂   编程   spring   ase   group   get   his   项目   

Spring的概述-什么是Spring

  • ·Spring 是一个开源框架
  • ·Spring 为简化企业级应用开发而生.使用Spring可以使简单的
  • JavaBean 实现以前只有EJB才能实现的功能
  • ·Spring 是JavaSE/EE的一站式框架

Spring的概述-什么是Spring

  • ·方便解耦,简化开发
  • -Spring就是一个大工厂,可以将所有对象创建和依赖关系维护,交给Spring管理
  • ·AOP编程的支持
  • -Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能
  • ·声明式事务的支持
  • -只需要通过配置就可以完成对事务的管理,而无需手动编程

Spring的概述-Spring的优点

  • ·方便程序的测试
  • -Spring对Junit4支持,可以通过注解方便的测试Spring程序
  • ·方便集成各种优秀框架
  • -Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:Struts、Hibernate、MyBatis等)的直接支持
  • ·降低JavaEEAPI的使用难度
  • -Spring 对JavaEE开发中非常难用的一些API(JDBC、JavaMail、远程调用等),都提供了封装,使这些API应用难度大大降低

Spring的概述-Spring的模块

技术分享图片

 

Spring的Ioc的底层实现

技术分享图片

 Spring的Ioc的入门案例

  • 使用idea创建新的maven项目
  • 在pom.xml中添加依赖
<dependencies>
  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.11</version>
    <scope>test</scope>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>4.3.7.RELEASE</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>4.3.7.RELEASE</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-beans</artifactId>
      <version>4.3.7.RELEASE</version>
  </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-expression</artifactId>
      <version>4.3.7.RELEASE</version>
    </dependency>
  <dependency>
    <groupId>commons-logging</groupId>
    <artifactId>commons-logging</artifactId>
    <version>1.2</version>
  </dependency>
  <dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
  </dependency>
</dependencies>
  • 建包

技术分享图片

 

UserService

public interface UserService {

    public void sayHello();
}

  UserServiceImpl

public class UserServiceImpl implements  UserService{
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    //添加属性
    private String name;
    @Override
    public void sayHello() {
        System.out.print("hello spring" + name);
    }
}

  SpringDemo1

public class SpringDemo1 {
    @Test
    /**
     * 传统方式开发
     */
    public void demo1(){
        //UserService userService = new UserServiceImpl();
        UserServiceImpl userService = new UserServiceImpl();
        //设置属性 传统方法要改代码 就不好了
        userService.setName("张三");
        userService.sayHello();
    }

    @Test
    /**
     * 使用Spring 的方式
     */
    public void demo2(){
        //创建Spring的工厂
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
        //通过工厂获得类
        UserService userService = (UserService) applicationContext.getBean("userService");

        userService.sayHello();
    }
}

   applicationContext.xml

 

技术分享图片

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <!-- UserService的创建权交给了Spring-->
    <bean id="userService" class="com.windbag.ioc.demo1.UserServiceImpl">

        <!-- 设置属性-->
        <property name="name" value="李四"></property>
    </bean>

</beans>
  • 测试

技术分享图片

Spring IOC的快速入门案例

  • ·IOC Inverse of Control 反转控制的概念,就是将原本在程序中手动创建UserService对象的控制权,交由Spring框架管理
  • ·简单说,就是创建UserService对象控制权被反转到了Spring框架
  • ·DI Dependency Injection 依赖注入的概念,就是在Spring创建这个对象的过程中,将这个对象所依赖的属性注入进去。(name)

 

Spring--Spring入门

标签:1.0   工厂   编程   spring   ase   group   get   his   项目   

原文地址:https://www.cnblogs.com/windbag7/p/9542300.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!