ssm框架自学小心得-spring部分-第二节

声明:
本人完全是一个技术小白,目前在自己学习ssm框架(Spring+Spring MVC+MyBatis),内容均为本人心得和本人的资料整理,肯定有局限与不当之处,当然也欢迎大佬们指教!谢谢!

正文部分:

applicationContext.xml:
是一个配置文件。applicationContext.xml的配置信息都存在了ApplicationContext容器中。

1.标签<beans></beans>
是最外面的标签,它把所有其他标签都容括在内,其他所有的标签是具体属性的配置,在这个标签中的参数都是具体一些国外网站,所以在配置文件的时候需要连上网络,主要是一些文件的加载,需要从这些网站上下载到您的项目上。

2.标签<bean></bean>
是1.1标签的一个子标签,通过这个1.2的标签对象来引入基本的schema,能对许多属性进行配置,举个例子。如下所示代码。

<!-- 获取数据源(配置数据库连接参数,数据管理驱动) -->
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<!-- 数据库驱动类型为mysql -->    
        <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<!-- 数据库的具体地址 --> 
        <property name="url" value="jdbc:mysql://localhost:3306/您的数据库名称"></property>
<!-- 数据库的用户名 -->         
        <property name="username" value="root"></property>
<!-- 数据库该用户的密码 -->         
        <property name="password" value="123456"></property>
    </bean>

当然,以上仅是是对数据库的基本配置,然而bean标签除了对数据库的配置,还能对工厂模式和一些其他类型的对象进行配置。

Bean的常用属性:
2.1.1 id:
Bean在BeanFactory中区别其他Bean的唯一标识,在代码中获取该Bean实例时,需要一次作为索引名称。
2.1.2class:
Bean的具体的实现类中,其多对应的项目中的路径及自身的类名如getBean中所提到的例子。
2.1.3scope:
Bean实例的作用域,具体的内容,后面我们才会学习到。

Bean的常用子元素标签:
2.2.1<constructor-arg>
使用构造方法注入,指定构造方法的参数。
index属性指定该Bean标签参数的序号,即自己编写的类中有参构造方法的具体参数的索引值(第几个参数)。
ref属性指定对BeanFactory中对其他Bean的引用(要调用的其他的Bean标签的id属性的值)。
type属性是指指定参数的类型,比如int类型之类的。
value属性是指您想对该参数赋予的具体值。
2.2.2<property>
用于设置单个属性的标签。
name属性是指实例化类中的具体哪个属性值的名称,这与上面提到的index属性有些类似,index是属性的索引序号,name直接引用名称。
value属性是您要对该属性所赋予的具体值。
ref属性是指您对BeanFactory中,其他Bean的引用。
2.2.3<list><map><set><entry>
这四个子标签中,前三个是指对相对应类型的依赖注入,最后一个是设置键值对。

<entry key="" value=""></entry>

3.getBean方法:
在配置好所需的标签的参数后,我们可以通过写测试类来进行测试一下效果。
再举个例子,下面是某个applicationContext.xml文件:

<!-- id属性是程序员自己区别beans下其他的bean标签来定义的,
class属性是指本项目所对应的类名及其路径 -->
<bean id="peo" class="com.bjsxt.pojo.People"/>

然后我们在测试类中写下如下代码:

//ApplicationContext容器实例化并搜索对应配置文件的文件名或路径
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
//在已写的java的文件中实例化某些类
//getBean方法中的第一个参数是指上面applicationContext.xml所对应bean标签的id值
//第二个属性是指“类名.类类型”
People people = ac.getBean("peo",People.class);
//输出这个类的具体值
System.out.println(people);

4.Spring创建对象的三种方式:
4.1:构造方法:
分为默认的无参构造与需要在applicationContext.xml文件中配置的有参构造方法。
若有多设定多个匹配条件的构造方法,则执行最后一个方法,即前面的方法会被最后一个覆盖。

public class Airplane {
private int id;
public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
}
    <!-- 由spring管理service实现类 -->
    <bean id="airportService" class="com.bjsxt.service.impl.AirportServiceImpl">
         <property name="airportMapper" ref="airportMapper"></property>
    </bean>
public class Test {
	public static void main(String[] args){
		AirportServiceImpl bean = ac.getBean("airportService",AirportServiceImpl.class);
		List<Airport> list = bean.show();
		System.out.println(list);
	}

}
public interface AirportMapper {
	@Select("select * from airport")
	List<Airport> selAll();

}

还有实例工厂实例化和静态工厂实例化来不及写了,请大家在后续的文章中继续关注,谢谢。

再次声明:
本人完全是一个技术小白,目前在自己学习ssm框架(Spring+Spring MVC+MyBatis),内容均为本人心得和本人的资料整理,肯定有局限与不当之处,当然也欢迎大佬们指教!谢谢!
由于本人学习能力有限,更新较慢,请读者朋友谅解!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值