1、前言
最近在学习String Boot,对于注解式的配置编译方式有点不习惯,在查阅资料的得知,注解的前身是各种XML文件的调用的简化方式,所以就想着学习学习 Spring框架吧,和Spring Boot齐头并进。
2、创建项目
首先,创建一个463的项目,如图。
然后就是创建一个User_package的包名,里面存放Bean的实体类User,以及工厂类UserFactory。还要一个配置文件bean_id.xml文件。
前期工作就做好了。
开始写代码。
3、代码实现
下面是 User
。
package User_package;
public class User
{
private String name;
private int year;
private int tel;
private String addrress;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
public int getTel() {
return tel;
}
public void setTel(int tel) {
this.tel = tel;
}
public String getAddrress() {
return addrress;
}
public void setAddrress(String addrress) {
this.addrress = addrress;
}
}
下面是 UserFactory
。
package User_package;
public class UserFactory {
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public boolean getUserInfo(){
if(user!=null){
return true;
}else{
return false;
}
}
}
下面是 bean_id.xml
。
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<!-- 配置User -->
<bean id="user" class="User_package.User" />
<!-- 配置TestUtil,注入User -->
<bean id="userfactory" class="User_package.UserFactory">
<property name="user">
<ref local="user"/>
</property>
</bean>
</beans>
其中Beans后面是一些依赖包路径,bean class就是将路径下的类注解为bean,bean id就是给一个唯一的id名。
下面是前端的 one.jsp
。
<body>
<%
Resource cr = new ClassPathResource("bean_id.xml"); //在classpath下读取指定的xml文件
BeanFactory factory = new XmlBeanFactory(cr); //定义并建立BeanFactory
UserFactory userfactory = (UserFactory) factory.getBean("userfactory"); // 指定Bean的名称来取得Bean实例
%>
<%
if(userfactory.getUserInfo()){
User user = userfactory.getUser();
user.setYear(100);
user.setName("fym");
user.setTel(123456);
user.setAddrress("甘肃");
%>
用户名:<%=user.getName() %><br>
性别:<%=user.getAddrress() %><br>
年龄:<%=user.getYear() %><br>
电话:<%=user.getTel() %><br>
<%} %>
</body>
感谢两位位博主的博文,地址(https://www.cnblogs.com/nanshihui/p/3275850.html).
(https://blog.csdn.net/xiao1_1bing/article/details/81086116)
1 、用 local 属性指定目标 bean 可以利用 xml 解析器的能力在同一个 XML配置文件中验证 xml id 引用,没有匹配的元素,xml 解析器就会产生一个 error, 所以如果引用的bean 在同一个 XML配置 文件中 , 那么用 local 形式是最好的选择 .
2 、可以这么说, 是寻找所有 XML配置文件中的 bean; 是寻找本 xml 文件中的 bean.