Spring框架初学笔记

本文介绍了Spring框架的核心概念,包括依赖注入(DI)和面向切面编程(AOP)。详细阐述了JavaBean作为软件组件的基本原理及应用,通过实例演示如何在Spring中配置JavaBean并使用property标签和构造方法进行属性值注入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Spring框架初学

简介

       Spring的核心是DI(依赖注入)AOP(面向切面编程)

JavaBean:

   JavaBean是一种特殊的Java类,即:有默认构造方法,只有get和set方法的java类的对象。

   专业解释:软件组件就是指可以进行独立分离、易于重复使用的软件部分。

   JavaBean就是一种基于Java平台的软件组件思想,JavaBean也是一种独立于平台和结构的应用程序编程接口(API)。JavaBean保留了其他软件组件的技术精华,并添加了被其他软件组件技术忽略的技术特性,使得它成为完整的软件组件解决方案的基础,并可移植的Java平台上方便的用于网络世界中。

满足的三个条件:

  1. 实现Serializable接口
  2. 提供无参数的构造器
  3. 提供getter和setter方法访问它的属性

JavaBean的setter和getter方法:

一般JavaBean属性以小写字母开头,驼峰命名格式,相应的 getter/setter 方法是 get/set接上首字母大写的属性名。例如:属性名为userName,其对应的getter/setter方法: getUserName/setUserName。

但是,还有一些特殊情况:

  1. 如果属性名的第二个字母大写,那么该属性名直接用作getter/setter 方法中 get/set的后部分,就是说大小写不变。例如属性名为uName,方法是getuName/setuName。

  2. 如果属性名的前两个字母是大写(一般的专有名词和缩略词都会大写),也是属性名直接用作 getter/setter 方法中 get/set的后部分。例如属性名为URL,方法是getURL/setURL。

  3. 如果属性名的首字母大写,也是属性名直接用作 getter/setter方法中 get/set的后部分。例如属性名为Name,方法是getName/setName,这种是最糟糕的情况,会找不到属性出错,因为默认的属性名是name。

  4. 如果属性名以”is”开头,则getter方法会省掉get,set方法会去掉is。例如属性名为isOK,方法是isOK/setOK。需要注意的是有些开发工具自动生成的getter/setter方法,并没有考虑到上面所说的特例情况,会导致bug的产生。

我们在定义JavaBean的属性名时,应该尽量避免属性名的头两个字母中任意一个为大写以及属性名以”is”开头。

实例:HelloWord

//service interface
public interface GreetingService{
    void sayGreeting();
} 

//Implement
public class GreetingServiceImpl implements GreetingService{
    private greeting;
    public GreetingServiceImpl(){}
    public GreetingServiceImpl(String greeting){
    this.greeting = greeting;
    }
    public void sayGreeting(){
        System.out.println(greeting);
    }
    public void setGreeting(String greeting){
        this.greeting = greeting;
    }
}

       在Spring中配置Helloworld:

    <?xml version="1.0" encoding="UTF-8"?>
    <beans>
        <!-- 略去 -->
        <bean id="greetingService" class="com.xxx.helloword">
            <property name="greeting" value="Hello World!"/>
        </bean>
    </beans>

       property标签是利用,setter方法来设置属性值。

       另外一种方法,通过GreetingImpl的构造方法来配置,利用constructor-arg标签xml如下:

<!-- 略去 -->
<bean id="greetingService" class="com.xxx.helloword">
    <constructor-arg value="Hello World!"/>
</bean>

       上面只是一个简单的例子,展示了Spring如何将一个字符串注入到Bean中,Spring的真正威力在于把其他的一个Bean注入到另一个Bean中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值