提到java web编程,好像spring就躲不开了。一般认为,spring有两个特征,分别是ioc、aop。两个英文单词的中文解释都比较拗口,一个称之为控制反转,一个是面向切面。对于刚刚学习spring的同学,其实没有必要纠结里面的技术细节,可以把学习重点放在具体的应用上面。比如,可以用spring做一到两个demo程序,验证一下spring是怎么运转的即可。
使用IDEA学习spring也比较方便。可以借助于IDEA首先了解下spring是怎么开发的。
1、创建工程,分别选中“Spring”和“Web Application”
2、工程名设置为Hello,这样工程就创建好了,IDEA也默认添加好了spring lib库
3、创建spring配置文件,命名为applicationContext.xml
执行过程中,可能遇到这样的告警提示,
不用担心,直接点击“Configure application context”,选择“create new application context”即可,
直接点击ok即可。
5、补充完整applicationContext.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.xsd">
<bean id="teacher" class="Teacher">
<property name="teacherNo" value="666666"></property>
<property name="teacherName" value="Tom"></property>
</bean>
</beans>
6、添加Teacher.java源文件,放在src目录下,
public class Teacher {
private int teacherNo;
private String teacherName;
public int getTeacherNo() {
return teacherNo;
}
public void setTeacherNo(int teacherNo) {
this.teacherNo = teacherNo;
}
public String getTeacherName() {
return teacherName;
}
public void setTeacherName(String teacherName) {
this.teacherName = teacherName;
}
@Override
public String toString() {
return "Teacher{" +
"teacherNo=" + teacherNo +
", teacherName='" + teacherName + '\'' +
'}';
}
}
注意这个Teacher类里面的变量和applicationContext.xml里面提到的内容,其实是一致的。两者都有teacherNo和teacherName,而且在applicationContext.xml里面,还添加了默认值666666和Tom,这个需要注意一下。
7、添加测试文件test.java
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class test {
public static void main(String args[]) {
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
Teacher teacher = (Teacher) context.getBean("teacher");
System.out.println(teacher.toString());
}
}
这个test.java值得好好看看。开始两个import语句主要是引用,从内容上看,引用的都是springframework的部分。正式的内容从test.main函数开始。首先,读取applicationContext.xml文件。其次,从文件中找到“teacher”生成一个teacher实例。最后,调用toString重载函数。
这里面有什么好处呢,我倒是想到了一个。比如说,如果之前使用的数据库是mysql,某一天有一个客户说他们习惯了用oracle,oracle比较稳定。那么,这个时候需要做的就是在applicationContext.xml文件中把class换一下就好了,代码不需要做任何的修改。
8、代码编译调试
直接选中test.java,右击选中“Run test.main()”,
如果没有什么问题的话,就可以看到这样的打印,
可以故意制造一个错误,比如去除xml文件中bean的相关内容,那么执行会出现什么错误呢?可以用<!-- -->来注销bean代码观察看看。
标签:xml,web,java,teacherNo,applicationContext,spring,teacherName,public From: https://blog.51cto.com/feixiaoxing/5881287