Spring 一二事(2)

静态工厂方法及实例工厂的使用:

applicationContext.xml:

 1    <!-- factory-method 是指调用静态工厂方法 -->
 2     <bean id="helloWorld2" class="com.lee.spring002.createobject.method.HelloWorldFactory"
 3         factory-method="getInstance"></bean>
 4
 5     <!-- 实例工厂 -->
 6     <bean id="helloWorldFactory"
 7         class="com.lee.spring002.createobject.method.HelloWorldFactory2"></bean>
 8     <!-- factory-bean 是一个工厂bean -->
 9     <bean id="helloWorld3" factory-bean="helloWorldFactory"
10         factory-method="getInstance"></bean>

HelloWorldFactory.java

 1 package com.lee.spring002.createobject.method;
 2
 3 import com.lee.spring001.createobject.HelloWorld;
 4
 5 public class HelloWorldFactory {
 6
 7     public static HelloWorld getInstance() {
 8         return new HelloWorld();
 9     }
10 }

HelloWorldFactory2.java

 1 package com.lee.spring002.createobject.method;
 2
 3 import com.lee.spring001.createobject.HelloWorld;
 4
 5 public class HelloWorldFactory2 {
 6
 7     public HelloWorld getInstance() {
 8         return new HelloWorld();
 9     }
10 }

测试:

 1     @Test
 2     public void testHelloWorld_StaticFactory() {
 3
 4         ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
 5
 6         HelloWorld hello = (HelloWorld)context.getBean("helloWorld2");
 7         hello.hello();
 8     }
 9
10     @Test
11     public void testHelloWorld_InstanceFactory() {
12
13         ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
14
15         HelloWorld hello = (HelloWorld)context.getBean("helloWorld3");
16         hello.hello();
17     }

github地址:https://github.com/leechenxiang/maven-spring001-helloworld

时间: 2024-10-07 05:25:16

Spring 一二事(2)的相关文章

Spring 一二事(9) - xml 形式的 AOP

AOP在spring中是非常重要的一个 在切面类中,有5种通知类型: aop:before  前置通知 aop:after-returning  后置通知 aop:after  最终通知 aop:after-throwing  异常通知 aop:around  环绕通知 1 <bean id="personDAO" class="com.lee.spring002.aop.xml.PersonDAOImpl"></bean> 2 <be

Spring 一二事(4) - 单例

spring bean配置后再默认情况下是单例的,如果需要配置可以选择 prototype, request, session和global session 在配置spring mvc的action时,可以对action使用 prototype 1 <!-- singleton: 默认单例 prototype: 多例 request ,session和global session: 只适用于web程序 --> 2 <bean id="scope_prototype"

Spring 一二事(5) - 依赖注入

1 <!-- 依赖注入的装配过程 --> 2 <bean id="person" class="com.lee.spring007.di.xml.setter.Person"> 3 <property name="pid" value="1001"></property> 4 5 <property name="name" value="nat

Spring 一二事(3) - 别名

别名就是可以通过另外一个名字来访问如下,已有bean:helloWorld3,那么定义别名(alias )后,就能使用“abc”来访问 1 <bean id="helloWorld3" factory-bean="helloWorldFactory" 2 factory-method="getInstance"></bean> 3 4 <!-- 别名 name 属性值要和 id 一致 --> 5 <ali

Spring 一二事(6) - IOC MVC 简易搭建

1 <bean id="personAction" class="com.lee.spring008.IOC.DI.MVC.PersonAction"> 2 <property name="stuService" ref="stuService"></property> 3 </bean> 4 <bean id="stuService" class=&q

回忆一二事

回忆一二事 发表于 2016/02/06 家里养了十几年的玉树没能活过这个冬天. 今年冬天相对前几年很冷,爸爸嫌它太大了,没往屋子里面挪,玉树应该是在最寒风凛冽的那几日,没有坚持住,没等到今天的阳光了. 妈妈在收拾残局,玉树现在早已枯萎,庞大的身躯都耷拉了下来,曾经绿色多肉的叶子都凋成了干.那粗壮的根早已被冻烂,妈妈轻易一揪根就被掰断了.当时还在学校的时候,就让爸爸把玉树搬到屋里.妈妈当时在微信上说,养了这么多年了,像孩子一样.当时看到那行字我的心里也很动容. 是啊,这棵玉树确实陪伴我们很多年,

Redis 一二事 - 在spring中使用jedis 连接调试单机redis以及集群redis

Redis真是好,其中的键值用起来真心强大啊有木有, 之前的文章讲过搭建了redis集群 那么咋们该如何调用单机版的redis以及集群版的redis来使用缓存服务呢? 先讲讲单机版的,单机版redis安装非常简单,不多说了,直接使用命令: 1 [[email protected] bin]# ./redis-server redis.conf 启动就行 在sprig文件中配置如下 1 <!-- 2 TODO: 3 开发环境使用单机版 4 生产环境务必切换成集群 5 --> 6 <!--

FreeMarker 一二事 - 静态模板结合spring展示

freemarker可以脱离web使用 前一篇文章使用了普通的方法 这回说说结合spring pom额外引入这个jar包 1 <dependency> 2 <groupId>org.springframework</groupId> 3 <artifactId>spring-context-support</artifactId> 4 <version>${spring.version}</version> 5 </

redis 一二事 - 搭建集群缓存服务器

在如今并发的环境下,对大数据量的查询采用缓存是最好不过的了,本文使用redis搭建集群 (个人喜欢redis,对memcache不感冒) redis是3.0后增加的集群功能,非常强大 集群中应该至少有三个节点,每个节点有一备份节点.这样算下来至少需要6台服务器 考虑到有些朋友的电脑配置不是很高,跑多个虚拟机就会卡,这边放出伪分布式和分布式 (2年前的配置) 前提先装好一个单例情况下的redis(这里就不多说了) 需要6个redis实例 搭建集群的步骤: 在/usr/local下 创建文件夹 这个