mybatis-study
beans:
1.IOC创建对象的方式
1.使用无参构造创建对象,默认
<bean id="user" class="com.xcl.pojo.User">
<property name="name" value="xcl"/>
</bean>
2.假设要使用有参构造创建对象
(1)下标赋值
<bean id="user" class="com.xcl.pojo.User">
<constructor-arg index="0" value="xcl"/>
</bean>
(2)类型
第二种:通过类型,不建议使用
<bean id="user" class="com.xcl.pojo.User">
<constructor-arg type="java.lang.String" value="xcl"/>
</bean>
(3)参数名
<bean id="user" class="com.xcl.pojo.User">
<constructor-arg name="name" value="xcl"/>
</bean>
//测试
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
User user = (User) context.getBean("user");
user.show();
总结:
在配置文件加载的时候,容器中管理的对象就已经初始化了
2.Spring配置
1.别名
<!--alias属性是别名,相当于第二个名字,在测试中引用哪个名字都可以运行-->
<alias name="user" alias="usernew"></alias>
2.Bean配置
<!--id:bean的唯一标识符,也就是相当于我们学的对象名
class:bean对象所对应的权限定名:包名+类型
name:也是别名,而且name可以同时取多个别名-->
<bean id="userT" class="com.xcl.pojo.UserT" name="u1 ,u2, u3">
<property name="name" value="西部开源"/>
</bean>
3.import
可以提供多个配置文件,导入合并为一个
假设,现在项目中有多个人开发,这三个人负责不同的类开发,不同的类需要注册在不同的bean中,我们可以利用import将所有的beans.xml合并为一个总的
-
张三
-
李四
-
王五
applicationContext.xml
<import resource="bean1.xml"/>
<import resource="bean2.xml"/>
<import resource="bean3.xml"/>使用的时候,直接使用总的配置就行
3.依赖注入
1.实例
Student类:
package com.xcl.pojo;
import java.util.Arrays;
import java.util.List;
import java.util.Properties;
import java.util.Set;
public class Student {
private String name;
private Address address;
private String[] books;
private List<String> hobbys;
private Set<String> games;
private String wife;
private Properties info;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
public String[] getBooks() {
return books;
}
public void setBooks(String[] books) {
this.books = books;
}
public List<String> getHobbys() {
return hobbys;
}
public void setHobbys(List<String> hobbys) {
this.hobbys = hobbys;
}
public Set<String> getGames() {
return games;
}
public void setGames(Set<String> games) {
this.games = games;
}
public String getWife() {
return wife;
}
public void setWife(String wife) {
this.wife = wife;
}
public Properties getInfo() {
return info;
}
public void setInfo(Properties info) {
this.
