初学Spring

一.认识Spring

1.Spring的官网:Spring.io

IOC  控制反转

AOP 面向切面编程

OOP 面向对象编程 四大核心 继承 多态 封装 抽象

OOD 面向对象分析 工程师 架构师

OOA 面向对象分析

Spring致力于Java EE应用的各种解决方案,而不是仅仅专注于某一层的方案,Spring贯穿表现层,业务层,持久层

2.Spring之父简介

     Rod JohnsonSpringFramework创始人, interface21 CEO

 丰富的c/c++背景,丰富的金融行业背景

     1996年开始关注Java服务器端技术

     Servlet2.4JDO2.0专家组成员

     2002年著写《Expoert one-on-oneJ2EE设计与开发》,改变了Java世界

     技术主张:技术以实用为本,音乐学博士

  专家  (砖家)

  教授 (叫兽)

  攻城狮

3.Spring的运行时间

 

二.Spring IOC

1.理解控制反转

  也被称为依赖注入,是面向对象编程中的一种设计理念,用来降低代码之间的耦合度

理解一:将组件对象的控制权从代码本身转移到外部容器

理解二:说的是创建对象实例的控制权从代码控制剥离到IOC容器(Spring容器)控制,实际就是在XML文件控制,侧重于原理

 

2.IOC原理

  在业务代码中不使用new关键字来构建业务实例,而是在配置文件中通过XML节点来告知容器如何对内存中构建的对应类型的对象名称做属性名

三.DI的认知         什么是DI? Dependency Injection  依赖注入

说的是创建对象实例时,为这个对象注入属性值或其他对象实例,侧重于实现实现

也就是在xml节点中为实体类的对象赋值:

代码如下:

由于IOC可以不用使用new关键字来实例化对象,这里的id就是实例化对象名,class就是实例化的类,需要实例化的类

  <bean id="service" class="happy.HappyService">
            <property name="info" value="张三"></property>
            <property name="age" value="20"></property>
            </bean>

这里的name就是实体类中的属性名,value就是给其赋值

  两者关系:IOC和DI它们是spring核心思想的不同方面(维度)的描述。 (重点)

四.如何在Idea中开发Spring项目

第一步:引入Spring所需要的依赖,也就是jar包

Spring-beans.4.2.0.jar附带了core核心和commons-loggingjar包

<dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>4.2.0.RELEASE</version>
        </dependency>

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

        <!--aop使用的jar-->
        <dependency>
            <groupId> org.aspectj</groupId >
            <artifactId> aspectjweaver</artifactId >
            <version> 1.8.7</version >
        </dependency>

 

第二步:

创建实体类HappyService

第三步:

在resources目录下创建 applicationContext.xml文件,这里也叫大配置文件,核心文件

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">
</beans>

 

第四步:

创建测试类

第一个案例:控制台输出用户信息

具体实现代码如下:

1.实体类

public class HappyService {

/*    public HappyService(){
        System.out.println("第一个Spring程序!");
    }*/

    public String info;

    public Integer age;

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public void work(){
        System.out.println("work"+info);
    }

    public String getInfo() {
        return info;
    }

    public void setInfo(String info) {
        this.info = info;
    }
}

2.书写xml文件,加入<bean>节点

 <bean id="service" class="happy.HappyService">
            <property name="info" value="张三"></property>
            <property name="age" value="20"></property>
            </bean>

3.测试类

    //第一个案例
    @Test
public void Test(){
        ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
      HappyService service = (HappyService)context.getBean("service");
        System.out.println("我叫"+service.getInfo());
        System.out.println("今年"+service.getAge());
    }

输出结果:

 

posted @ 2018-03-03 18:57  风骚少年  阅读(146)  评论(0编辑  收藏  举报
AmazingCounters.com