zoukankan      html  css  js  c++  java
  • Spring--Spring入门

    Spring的概述-什么是Spring

    • ·Spring 是一个开源框架
    • ·Spring 为简化企业级应用开发而生.使用Spring可以使简单的
    • JavaBean 实现以前只有EJB才能实现的功能
    • ·Spring 是JavaSE/EE的一站式框架
    • ·方便解耦,简化开发
    • -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)
  • 相关阅读:
    关于lockkeyword
    关于多层for循环迭代的效率优化问题
    Android 面试精华题目总结
    Linux基础回想(1)——Linux系统概述
    linux源代码编译安装OpenCV
    校赛热身 Problem C. Sometimes Naive (状压dp)
    校赛热身 Problem C. Sometimes Naive (状压dp)
    校赛热身 Problem B. Matrix Fast Power
    校赛热身 Problem B. Matrix Fast Power
    集合的划分(递推)
  • 原文地址:https://www.cnblogs.com/windbag7/p/9542300.html
Copyright © 2011-2022 走看看