SpringMVC学习指南【笔记1】创建bean实例的方法和依赖注入

Spring MVC 主要从Spring框架、ServletJSP3个方面来讲。

Java企业版技术包括JMSEJBJSFJPA

Java企业版容器:GlassFishJBossOracleWeblogicIBM WebSphere

TomcatJetty不是企业版容器,所以不能运行EJBJMS

Spring一共有20多个不同的模块,这里主要讲了3个模块:corebeanspringmvc

corebean提供依赖注入解决方案。

Spring有两种配置方式:xml和注解的方式。这两种方式都至少需要一个包含beans信息的xml文件。

【控制反转】

ApplicationContext代表Spring控制反转容器,有两个实现类:

ClassPathXmlApplicationContext在类加载路径中加载配置文件;

FileSystemXmlApplicationContext在文件系统中加载。

例如:

ApplicationContext context = new ClassPathXmlApplicationContext(new string[]{“config1.xml”,”config2.xml”});

Product product = context.getBean(“product”,Product.class);

创建bean实例的方法:

1、通过构造器创建一个bean实例;

<bean name=”product” class=”com.xsl.entity.Product” />

2、通过工厂方法创建一个bean实例。

<bean id=”calendar” class=”java.util.Calendar” factory-method=”getInstance” />

Destroy Method的使用:可以在类被销毁之前能执行指定方法。

<bean id=”executorService” class=”java.util.concurrent.Executosr” factory-method=”new CachedTheadPool” destory-method=”shutdown” />

通过指定的class的这个静态方法new CachedTheadPool,创建idexecutorService的实例,最后在销毁之前调用shutdown方法。

Spring也支持通过构造器来传递参数:

1、写好实体类的构造方法;

2、bean中配置好参数的值。(参数的标签是< constructor-arg />,除了可以通过名称name来传递参数外,还支持通过索引index来传递参数;但是采用索引来传递参数的话,所有参数都必须传递,缺一不可)

A类依赖B类,为保证每个A实例都能包含B实例。

<bean name=”b1” class=”com.xsl.entity.B”>

    <constructor-arg name=”city” value=”shenzhen” />

    <constructor-arg name=”state” value=”yes” />

</bean>

1、setter方式依赖注入(使用<property />标签)

<bean name=”a” class=”com.xsl.entity.A”>

    <property name=”b” ref=”b1” />

    <property name=”price” value=”9.9” />

</bean>

2、构造器方式依赖注入

<bean name=”a” class=”com.xsl.entity.A”>

    <constructor-arg name=”b” ref=”b1” />

    <constructor-arg name=”price” value=”9.9” />

</bean>

猜你喜欢

转载自www.cnblogs.com/xsl1995/p/10163781.html