发表于: 2018-04-03 12:24:07
1 681
今天完成的任务:
1 把之前的Spring例程 HelloSpring 讲解全:
(1)设置Bean配置文件
IoC容器主要作用就是创建并管理Bean对象以及Bean属性注入 。创建Bean对象是通过读取Bean配置文件生成Bean对象,这里通用的Bean配置文件是用.XML文件从Spring.xml文件中补充了以下注释语句
bean id="helloWorld"> <property name="Name" value="Spring" ></property>
Bean作为一个被实例化,组装,并通过 Spring IoC 容器所管理的对象,将其配置元数据表示成其属性
主要用了class和name。
(2)接下来一一解释各个语句
1 ApplicationContext context = new ClassPathXmlApplicationContext("Spring.xml");
注释:作为Bean容器组件,BeanFactory是纯粹的Bean容器,这里采用更强功能的ApplicationContext容器。
运行过程是先加载并解析Spring.xml资源文件从而获得Resource对象,然后把读到的Bean元素封装到BeanDefinition组件中并注册到BeanFactory中
2 HelloWorld helloWorld = (HelloWorld) context.getBean("helloWorld");
从IOC容器中获得Bean实例,使用getbean函数
3 helloWorld.sayHello(); (System.out.println("Hello"+ name);)
输出需要表达的HelloSpring语句
2.Bean作用域
当在 Spring 中定义一个 bean 时,你必须声明该 bean 的作用域的选项 这里先讲解两个作用域,singleton与prototype
1),Singleton
该单一实例将存储在这种单例 bean 的高速缓存中,以及针对该 bean 的所有后续的请求和引用都返回缓存对象举例如下:在.XML文件中加入scope="singleton"
从结果看出对Bean的后续请求都是直接调用最开始的Bean对象
2).prototype
每次特定的 bean 发出请求时 Spring IoC 容器就创建对象的新的 Bean 实例 例子同理,把原来Singleton改成scope="prototype”
结果如左,不调用原来的Bean对象,需要重新创建,否则为NULL。
3,Bean继承
子 bean 的定义继承父定义的配置数据 例子如下
对于XML配置文件如下:
我们注意到这里设置了parent="helloWorld",helloChina继承了helloWorld,然后再设置name时只设了message1,和message3,则注意观察message2的值。主程序如下:
结果:
可以看到message2由于无设置name与value则自动继承了helloworld的message2="Hello Second World"。
4,在华为云买了云数据库,准备做远程服务器连接。
明天计划:spring注入学习,连接服务器,JDBC分离接口与implement对数据库进行删减。
收获:Spring知识。
评论