`
VerRan
  • 浏览: 459333 次
  • 性别: Icon_minigender_1
  • 来自: 陕西.西安
社区版块
存档分类
最新评论

Spring我来了!

阅读更多
java 代码

    spring是一种轻量级的框架,是为了更便于开发人员进行j2ee的企业级开发而应用而生的!最近开始学习spring在网上找了一个特别简单的例子,尽管很简单但是将spring的核心Ioc控制反转的作用体现了出来.下面的例子是一位网友的例子的基础上改进出来的!
1.建立javabean
类User

java 代码
  1. package test.lht;   
  2.   
  3. public class User {       
  4.     private String userName;       
  5.     private int age;   
  6.     public int getAge() {   
  7.         return age;   
  8.     }   
  9.     public void setAge(int age) {   
  10.         this.age = age;   
  11.     }   
  12.     public String getUserName() {       
  13.         return userName;       
  14.     }       
  15.     public void setUserName(String userName) {       
  16.         this.userName = userName;       
  17.     }       
  18. }    
类Address
java 代码
  1. package test.lht;   
  2.   
  3. public class Address {   
  4. private String city;   
  5.   
  6. public String getCity() {   
  7.     return city;   
  8. }   
  9.   
  10. public void setCity(String city) {   
  11.     this.city = city;   
  12. }   
  13.   
  14. }   

2.将javabean设置进applicationContext.xml中来实现分离
xml 代码
  1.   
  2.   
  3. <!---->xml version="1.0" encoding="UTF-8"?>     从测试类可以看出加载了spring的配置文件后,将其封装为一个AplicationContext对象,然后由这个对象的getBean()方法来获取spring配置文件中定义的bean,这样没有采用ejb的方式利用复杂的配置文件和jndi来进行实现,而是将这些复杂的事情交给了容器来进行处理.
  4. <beans xmlns="http://www.springframework.org/schema/beans"  
  5.        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  6.        xmlns:lang="http://www.springframework.org/schema/lang"  
  7.        xsi:schemaLocation="   
  8. http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd   
  9. http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-2.0.xsd">  
  10.   
  11.     <bean id="user" class="test.lht.User" abstract="false"      
  12.        singleton="true" lazy-init="default" autowire="default"      
  13.        dependency-check="default">      
  14.        <property name="userName">      
  15.            <value>hello liu heng taovalue>      
  16.        property>      
  17.        <property name="age">  
  18.        <value>22value>  
  19.        property>  
  20.     bean>      
  21.     <bean id="address" class="test.lht.Address" abstract="false"      
  22.        singleton="true" lazy-init="default" autowire="default"      
  23.        dependency-check="default">  
  24.        <property name="city">  
  25.        <value>xi'anvalue>  
  26.          property>       
  27.     bean>  
  28.   
  29. beans>  
  30.   
<bean></bean>标签用于定义一个普通的javabean即POJO ,!
 3.测试类
  1. package test.lht;   
  2. //打眼一看怎么觉得不就是通过配置文件来将对象的创建和设置,隐式化了!一切都由spring框架来进行处理,而不是直接创建.   
  3. import org.springframework.context.ApplicationContext;       
  4. import org.springframework.context.support.FileSystemXmlApplicationContext;       
  5. public class TestUser {       
  6.     public static void main(String[] args) {       
  7.          ApplicationContext context=new FileSystemXmlApplicationContext("/src/applicationContext.xml");    //获得配置文件   
  8.         User user=(User)context.getBean("user");    //通过上下文对象获得名字为user的bean并专换成User类型   
  9.         System.out.println("当前用户的名字是"+user.getUserName());   
  10.         Address address=(Address)context.getBean("address");   
  11.         System.out.println("当前用户的年龄是"+user.getAge());   
  12.         System.out.println("当前用户所居住的城市"+address.getCity());   
  13.         //这样就实现了注入的过程,而且值还可以通过配置文件进行设置,以往的ejb需要很多的文件来进行业务的处理,这里我们只需要简单的javabean进行   
  14.         //实现就可以了.   
  15.     }       
  16. }    

 

简单的总结:
  这个简单的例子利用spring框架的控制反转(你不要调用我,我调用你!)的思想实现了对象创建的隐藏,不是有用户直接进行创建而是由容器来进行控制和管理!

分享到:
评论

相关推荐

    Unit 2 Spring Is Coming!课时练习题及答案2.doc

    :春天来了!这是一句宣告春天来临的表达,通常用于迎接新的季节。 - How happy we are!:我们真开心啊!这句话表达了人们在某个时刻或特定情境下的喜悦心情。 - What do you do in spring?:你在春天干什么?这个...

    Spring boot 集成 ureport

    这两天在研究 Spring boot 集成 ureport 框架,其实我对Spring boot的了解不是很深;为什么想到要集成这个东西?因为有个群里的小伙伴说老是集成不上,然后我上次也是远程帮他弄了很久;嗯,还真的没弄出来,后来他...

    Spring春天来了大气宽屏wordpress模板下载5101.zip

    Spring春天来了大气宽屏wordpress模板下载5101.zip

    spring security项目示例下载

    我的项目是用maven搭建的,如果你配置了maven,那么就会可以很轻松的运行起项目来了, 步骤: 1、在我的项目下找到database文件夹,把里面的union_ssh.sql文件导入到mysql数据库中 2、导入项目SSHMS到myEclipse中 3...

    spring-quartz jar包

    Spring Quartz 是一个集成Quartz定时任务框架与Spring的开源项目,它使得在Spring应用中配置和管理定时任务变得更加便捷。Quartz是Java平台上的一个强大、完全可移植的作业调度库,可以用来创建复杂的调度任务,而...

    阿里45K高级Java岗,必备技能清单来了!.pdf

    Java Web核心技术也是重点,包括Servlet、JSP、过滤器、监听器等,以及Spring全家桶(Spring、SpringMVC、Spring Boot、Spring Cloud等),Mybatis等持久层框架,以及Shiro这样的安全框架。同时,熟悉Netty这样的高...

    阿里45K高级Java岗,必备技能清单来了! (2).pdf

    例如,云计算、大数据、人工智能等领域的新技术,如Spring Boot、Spring Cloud、Kafka流处理、Hadoop、Spark等,都是值得关注和学习的方向。 总之,成为一名45K级别的高级Java工程师,需要不断深化对Java语言、框架...

    springcloud

    ### Spring Cloud 知识点详解 #### 一、统一开发环境 为了确保团队成员之间能够顺畅协作,并且项目能够在各种环境中稳定运行,统一开发环境至关重要。本课程中指定了如下配置: - **JDK**: 1.8 - **Eclipse**: ...

    阿里45K高级Java岗,必备技能清单来了!.docx

    面对不断涌现的新技术,如大数据、云计算、人工智能等,Java工程师需要时刻保持敏锐的洞察力,学习并掌握新的开发框架和技术栈,如Spring Boot、Spring Cloud、Docker等。此外,对计算机基础,如数据结构和算法,要...

    spring_quartz项目可以直接运行

    **Spring Quartz 项目详解** **一、Spring Quartz 简介** Spring Quartz 是 Spring 框架与 Quartz 定时任务库的集成,它允许开发者在 Spring 应用程序中轻松地管理和执行定时任务。Quartz 是一个开源的作业调度...

    spring mvc mbatis

    Spring MVC 和 MyBatis 是两个在 Java Web 开发中广泛使用的框架。Spring MVC 是 Spring 框架的一部分,主要用于构建 MVC(Model-View-Controller)架构的 Web 应用程序,而 MyBatis 是一个轻量级的持久层框架,它...

    阿里45K高级Java岗,必备技能清单来了! (2).docx

    熟悉Spring、SpringMVC和Mybatis等主流框架,以及Shiro安全框架和Netty网络通信库,可以提升开发效率。 数据库知识是不可或缺的,包括SQL优化、事务管理、索引原理和存储过程。理解NoSQL数据库,如MongoDB,以及...

    2020Spring春天来了大气宽屏wordpress模板下载5101_企业网站模板PHP整站源码.zip.7z

    标题中的“2020Spring春天来了大气宽屏wordpress模板下载5101_企业网站模板PHP整站源码.zip.7z”表明这是一款基于WordPress的网站模板,专为春季设计,具有大气且宽屏的视觉效果。这款模板适用于企业网站,提供了...

    spring4.16版本全部的包

    spring4.16版本全部的包,官网来的,下载并使用

    ssh Struts2.3.16.1+Hibernate4.3.4+Spring4.0.2 框架整合jar包

    SSH框架是Java开发中常用的三大开源框架Struts2、Hibernate和Spring的组合,它们各自负责应用程序的不同层面,共同构建了一个高效、灵活的企业级应用开发环境。这个SSH整合jar包是针对Struts2.3.16.1、Hibernate...

    spring3.2 各种jar

    Spring框架是Java开发中不可或缺的一部分,它以其模块化、易用性和灵活性著称。Spring 3.2 是该框架的一个重要版本,引入了许多改进和新特性。在这个版本中,Spring 提供了对Java EE 6的支持,增强了AOP(面向切面...

    [] - 2022-10-29 Spring 6.0 要来了,太强了!.pdf

    互联网资讯,技术简介,IT、AI技术,人工智能

    spring web空的maven项目

    **Spring Web Maven 项目概述** Spring Web 是 Spring 框架的一个重要组成部分,它提供了构建 Web 应用程序的基础。这个空的 Maven 项目是为了帮助开发者快速搭建一个基于 Spring 的 Web 应用环境。Maven 是一个...

    java之SpringCache之@Cacheable注解的说明使用

    重点来了哦!这里面说的“相同参数”一定要正确理解,也就是说同一个方法使用了@Cacheable注解,但是有不同的参数组合来调用这个方法,则会才产生你的组合数个key来存储缓存数据! 好了,接下来我们看一下,这注解...

    spring-boot-starter-fastdfs:用于fastdfs Java客户端的Spring Boot启动程序。

    弹簧启动启动程序fastdfs 用于fastdfs Java客户端的Spring ... 所以,这来了。 如何安装 将Maven存储库添加到您的pom.xml &lt; id&gt;jitpack.io &lt; url&gt;https://jitpack.io&lt;/ url&gt; 添加依赖项 &lt; depe

Global site tag (gtag.js) - Google Analytics