Spring之初识笔记

一、Spring简单介绍

全名:Spring Framework

创始人:Rod Johnson
毕业于:悉尼大学    (计算机学位 和 音乐学位双学位)
        浅谈一下————获得钢琴音乐学博士后
        回到软件开发领域  C/C++  Java

Spring的使命是简化Java开发,为了降低Java开发的复杂性

主要学习的知识点有:

        IOC    Inversion Of Control控制反转
        (DI)    Dependency Injection依赖注入
        AOP    Aspect Oriented Programming面向切面编程    (Object Oriented Programming)
        非重点:JDBC、JMS、ORM等模块

Spring框架可以理解为是一个管理者
管理是整个分层架构中每一个对象-------->JavaBean

二、下载.jar

Spring官网  https://spring.io/

我直接帮你找到了Spring(.jar)

三、搭建Spring环境(目前只是测试)

我只是创建了一个普通的项目

        1.就是导入.jar包。(也可以通过maven工具来导入)


        2.配置文件

           创建xml文件命名为 ApplicationContext.xml(本人习惯型命名为这个名字)
            内容(规则)参考手册

 为了测我先创建了一个student对象

package domain;
public class Student{
    private  Integer sid;
    private String sname;
    private String ssex;
    private Integer sage;


    public Student(){}

    public Student(Integer sid, String sname, String ssex, Integer sage) {
        this.sid = sid;
        this.sname = sname;
        this.ssex = ssex;
        this.sage = sage;
    }
}


     

<?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
        https://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean name="student" class="domain.Student"></bean>

</beans>
 

        3.创建一个Bean工厂
          

 BeanFactory f = new ClassPathXmlApplicationContext("spring配置文件路径");
 Object obj = (造型)f.getBean("name");

       

         4.对象的管理
            好多对象-----好多<bean>
            每一次创建的对象是new 单例
            对象中有属性----DI

  Spring管理的bean对象多少个?
            每一个数据库的表格会对应一套Controller Service Dao
            如果10个表格  10个C 10个S 10个D
            多个bean对象  分属在不同的层次中(如dao server  controller  )
            我们可以将配置拆分  看起来更好一点
            
            将XML文件拆分
            方式一(String...)
            ClassPathXmlApplicationContext("ApplicationContext.xml","","","");        
            方式二(String[])
            ClassPathXmlApplicationContext(new String[]{"ApplicationContext.xml","","",""});
            方式三(通配符写法*)
            ClassPathXmlApplicationContext("ApplicationContext*.xml")
            方式四(主配置文件引入其他文件的方式)
            ClassPathXmlApplicationContext("ApplicationContext.xml")
            主配置文件中通过<import resource="其它配置文件路径"></import>

 

 Spring管理的这些对象是每次new一个新的对象还是单例的

            Spring管理的bean对象默认的效果是单例模式
            单例模式底层---生命周期托管的方式(Servlet)
            单例模式能否修改---可以修改
            

<bean scope="singleton只要name一致就是单例/prototype原型每次new新的"></bean>

如果是单例对象 立即加载 延迟加载
            如果采用的是默认单例模式  对象的创建是立即加载(SpringBean工厂创建时 读取文件 加载对象了)
            如果采用的是原型模式 对象在加载SpringBean工厂时候不会创建对象
            平时我们在开发的时候可能更多的使用延迟加载的机制
            我们可以通过修改Spring配置的方式来改变
          

 <bean lazy-init="default/false表示立即加载 true表示延迟加载">

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小江||小廖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值