spring的简单实例

spring框架的用途简单举例(第一个实例):

可以使用spring的bean实现创建类的对象,而不是由客户端去创建

 

此处为编写简单的spring实例代码,文件的结构为:

 

JavaBean实例代码(User.java):

 1 package com.gp.service;
 2 public class User {
 3   private String username;
 4   private String password;
 5 public String getUsername() {
 6  return username;
 7 }
 8 public void setUsername(String username) {
 9  this.username = username;
10 }
11   
12   public void show(){
13    System.out.println("姓名是: "+username+"  , 密码是:"+password);
14   }
15 public String getPassword() {
16  return password;
17 }
18 public void setPassword(String password) {
19  this.password = password;
20 }
21 }

 

spring的配置文件(applicationContext.xml):

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4        xsi:schemaLocation="http://www.springframework.org/schema/beans
 5            http://www.springframework.org/schema/beans/spring-beans.xsd">
 6   <bean id="user" class="com.gp.service.User">
 7      <property name="username" value="zhangsan"/>
 8      <!-- 调用的是setUsername后面的值,即把set后的第一个字母小写即可 -->
 9      <property name="password" value="123456"/>
10   </bean>
11 </beans>

 

Java的测试文件(TestUser.java):

 1 package com.gp.test;
 2 import org.springframework.context.ApplicationContext;
 3 import org.springframework.context.support.ClassPathXmlApplicationContext;
 4 import com.gp.service.User;
 5 public class TestUser {
 6    public static void main(String[] args) {
 7     
 8  //spring容器是在此处进行初始化的,对象的创建是有spring容器创建的,此处加载容器,
 9     //通过getBean来获取对象,里面的参数是由xml文件中bean标签的id
10  ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
11  User user=(User) context.getBean("user");
12     user.show();
13   }
14 }

 

执行测试文件的运行结果为:

姓名是: zhangsan  , 密码是:123456

有以下几种方式可以实现:

User user=context.getBean("user",User.class);

或者改为

User user=context.getBean(User.class);

可以在BeanFactoty中的获取getBean方法可以得知:

 

================================================================================================

而如果不用spring框架,直接写,则测试文件如下所示:

 1 package com.gp.test;
 2 import com.gp.service.User;
 3 public class TestUser1 {
 4   public static void main(String[] args) {
 5  User user=new User();
 6     user.setUsername("zhangsan");
 7     user.setPassword("123456");
 8     user.show();
 9     }
10 }

 

运行结果同上所示:

通过比较可以得知,通过spring框架,对象的创建交给了spring框架进行,spring容器中保存了bean,并且通过applicationContext.xml文件中bean标签id可以在context中获取对应的实例对象。

对象的创建是通过Java的反射生产的,所以User.java类中必须有一个无参的构造方法,否无运行报错。

 

posted on 2018-03-11 20:58  没有太晚的开始  阅读(490)  评论(0编辑  收藏  举报

导航