首页 > 编程语言 >java web开发(第一个spring程序)

java web开发(第一个spring程序)

时间:2022-11-23 15:07:31浏览次数:42  
标签:xml web java teacherNo applicationContext spring teacherName public


        提到java web编程,好像spring就躲不开了。一般认为,spring有两个特征,分别是ioc、aop。两个英文单词的中文解释都比较拗口,一个称之为控制反转,一个是面向切面。对于刚刚学习spring的同学,其实没有必要纠结里面的技术细节,可以把学习重点放在具体的应用上面。比如,可以用spring做一到两个demo程序,验证一下spring是怎么运转的即可。

        使用IDEA学习spring也比较方便。可以借助于IDEA首先了解下spring是怎么开发的。

1、创建工程,分别选中“Spring”和“Web Application”

java web开发(第一个spring程序)_xml

2、工程名设置为Hello,这样工程就创建好了,IDEA也默认添加好了spring lib库

java web开发(第一个spring程序)_前端_02

 

3、创建spring配置文件,命名为applicationContext.xml

java web开发(第一个spring程序)_java_03

        执行过程中,可能遇到这样的告警提示,

java web开发(第一个spring程序)_前端_04

        不用担心,直接点击“Configure application context”,选择“create new application context”即可,

java web开发(第一个spring程序)_spring_05

         直接点击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()”,

java web开发(第一个spring程序)_xml_06

         如果没有什么问题的话,就可以看到这样的打印,

java web开发(第一个spring程序)_java_07

         可以故意制造一个错误,比如去除xml文件中bean的相关内容,那么执行会出现什么错误呢?可以用<!-- -->来注销bean代码观察看看。

java web开发(第一个spring程序)_xml_08

 

标签:xml,web,java,teacherNo,applicationContext,spring,teacherName,public
From: https://blog.51cto.com/feixiaoxing/5881287

相关文章

  • java web开发(servlet传递数据给jsp)
        实际开发中,servlet多用于controller,jsp多用于view。之前,我们谈过了怎么把数据从jsp传递给servlet,即采用form+action的方法来完成这一目标。今天可以继续讨论下,s......
  • java web开发(jsp传递数据给servlet)
        有了servlet,有了jsp,其实就已经可以做很多的事情了。比如说表单的制作等等。在实际项目中,表单、表格都是很常见的输入选项。一个常见的场景,就是客户在输入数据之......
  • java web开发(第一个jsp工程)
        前面两期,我们谈到了怎么进行servlet的编写。一种方法是将传统的java工程改造成servlet工程;另外一种方法就是直接利用maven创建一个webapp工程。事实上呢,如果大......
  • java web开发(maven创建servlet程序)
        之前我们写了一篇文章,主要是说一般情况下怎么开发servlet。其实,用maven创建servlet工程也是非常方便的。网上有一篇文章,地址在,也谈到了怎么实现idea+maven+serv......
  • jave web开发(IDEA中配置maven + 第一个pom包)
        maven是现在java中用的比较多的一个软件。一方面,maven可以单独使用;另外一方面maven也可以和各个IDE进行配合,比如刚刚安装的IDEA,就可以和maven进行联合配置使用......
  • java web开发(注解)
        注解也是蛮有意思的。个人来看,它更多是一种偷懒的处理方法。一种常见的场景是这样的,如果我们希望对某一种类型的数据来做判断,那么就是在每个函数开始的位置添加......
  • java web开发(反射)
        反射是java很重要的一个特点。也是它区别于c、c++、fortan等传统语言的一个重要的语言特征。通过反射可以做很多的事情,比如动态创建类,动态修改变量,动态调用类函......
  • java web开发(IDEA安装 + 第一个java工程)
    发环境是myeclipse。时过境迁,现在大家更多地愿意用IDEA环境来开发。对于新手,尤其是刚入门的同学来说,有一个好的IDE环境还是能够减轻不少负担的。这样,可以让学习的曲线不是......
  • 常用js库和框架(vue&element ui与webpy)
        编写前端代码的同学都知道,目前最火的前端代码是vue&elementui,而后端个人又比较喜欢用webpy,那么这两者是怎么配合的。现在都说要实现前后端分离,两者的json数据......
  • java上位机开发(编译和部署)
        之前开发java程序的时候,一直用的是命令行来完成的。其实大家也可以用eclipse、IDEA这些工具来做。部署也是一样,一方面大家可以用maven这些工具来完成,另外一方面......