博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring 入门base
阅读量:6833 次
发布时间:2019-06-26

本文共 3143 字,大约阅读时间需要 10 分钟。

提起Spring,就会想到企业级框架这个词

  企业级系统:

    1.大规模:用户数量多,数据规模庞大,数据众多

    2.性能和安全性要求更高

    3.业务复杂

    4.灵活应变

 

我觉得先了解一下Spring的地位和他的作者比较好

 

Spring 的作者:Rod Johnson

 他是SpringFramework创始人,interface21 CEO

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

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

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

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

接下来讲讲Spring的内容,放俩张图片

Spring 的官网 

官网:Spring.io

 Spring的核心IOCAOP(本处详解IOC

  IOC:控制反转:(Inverse Of Control

      控制反转(Inversion of Control),是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心,beans
      理解一:将组件对象(业务对象)的控制权从代码本身转移到外部容器()
      理解二:IOC控制反转:说的是创建对象实例的控制权从代码控制剥离到IOC容器(spring容器)控制,实际就是你在xml文件控制,侧重于原理。

  AOP:面向切面编程;  (Aspect Oritend Programming)

  提及一下对象间的关系把

由于在此我使用 的meven  所以在此 我提供一下我的jar包

<!--单元测试的依赖  ctrl+shif+/-->

        <dependency>

            <groupId>junit</groupId>

            <artifactId>junit</artifactId>

            <version>4.12</version>

            <scope>test</scope>

           </dependency>

        <!--Spring-->

        <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>    

 

2.一个普通类

 

1 package cn.dawn.day01.service; 2 public class DawnService { 3  4     private String workInfo; 5     private Integer age; 6     public void work(){ 7         System.out.println("info"+workInfo); 8     } 9 10     @Override11     public String toString() {12         return "DawnService{" +13                 "workInfo='" + workInfo + '\'' +14                 ", age=" + age +15                 '}';16     }17 18     public String getWorkInfo() {19         return workInfo;20     }21 22     public void setWorkInfo(String workInfo) {23         this.workInfo = workInfo;24     }25 26     public Integer getAge() {27         return age;28     }29 30     public void setAge(Integer age) {31         this.age = age;32     }33 }

 

   3.大配置文件

 

1 
2
5 6
7
8
9
10

 

  4.单测

 

1 package cn.dawn.day01; 2  3 import cn.dawn.day01.service.DawnService; 4 import org.junit.Test; 5 import org.springframework.context.ApplicationContext; 6 import org.springframework.context.support.ClassPathXmlApplicationContext; 7 /** 8  * Created by Dawn on 2018/3/3. 9  */public class test20180303 {10     @Test11     /*入门案例*/12     public void t01(){13         ApplicationContext context=new ClassPathXmlApplicationContext("ApplicationContext01.xml");14         DawnService service = (DawnService) context.getBean("service");15         System.out.println(service);16     }17 }

 

在没有new 的情况下,就拿到了他的实现

ApplicationContext context=new ClassPathXmlApplicationContext("ApplicationContext01.xml");

  还记得我提了的IOC吗?我不是说他把创建对象的控制权交给了Spring容器嘛,那么容器在什么时候创建对象呢,是getBean的时候吗?还是。。。。(小实验)

    在刚才的那个普通类中,添加一个构造,如下

 

  public DawnService(){

 

          System.out.println("========================DawnService创建=======================");

 

      }

 运行结果:

结论就是Spring容器初始化的时候就把bean中的对象实例化了

 

转载于:https://www.cnblogs.com/wh1520577322/p/9379725.html

你可能感兴趣的文章
【作业】简单绘图程序
查看>>
二分查找
查看>>
java ee
查看>>
复制文字,链接,剪贴板的使用
查看>>
RSA加解密-2
查看>>
正向与反向代理的理解
查看>>
二分搜索法
查看>>
关于createTextRange和createRange的一些用法【转】
查看>>
关于jquery的serialize方法转换空格为+号的解决方法
查看>>
微信发一个网址打开后自动调用手机自带默认浏览器或提示选择浏览器打开如何实现?...
查看>>
ADO.NET 快速入门(二):执行命令
查看>>
菜鸟学习WPF(一):开篇
查看>>
Hibernate查询HQL(第二部分)
查看>>
数据源配置
查看>>
闲置的2017
查看>>
【习题1】第一个程序【第2天】
查看>>
JavaScript 编程模式
查看>>
c#获取文件夹路径(转载)
查看>>
BZOJ2940 条纹
查看>>
WCF 第五章 行为 事务之事务服务行为
查看>>