Spring入门到精通(一)

一、spring简介

Spring是一个开源的控制反转(Inversionof Control ,IoC)和面向切面(AOP)的容器框架。为软件开发提供一站式解决方案。

spring是大工厂,会生产任意bean对象。

spring功能:生产bean、声明式事务、单例模式管理bean、AOP开发。

官网:http://www.springsource.org/spring-framework

下载:http://maven.springframework.org/release/org/springframework/spring/

下载的文件名spring-framework-x.x.x.RELEASE-dist.zip

libs目录下的jar包说明

spring核心API

BeanFactory:bean工厂,上产任意bean。

ApplicationContext:所有配置对象的主接口

ClassPathXmlApplicationContext:加载类路径下的配置文件

FileSystemXmlApplicationContext:加载文件系统下的配置文件

二、入门案例

1、控制反转(IOC)

IOC(Inversion of Control)是控制反转的意思,之前需要类的对象,主动new(实例化)类的对象,spring是生产bean的工厂,现在可以让spring生产对象,用户获取对象使用。

对象从原来的主动创建,变为被动获得

(1)创建项目(java或web),且导入spring的jar包

(2)创建业务层接口和实现类


(3) 在classpath下创建spring的核心配置文件,应用schema文件,配置bean。

配置文件:位置任意、文件名任意,习惯ApplicationContext.xml。

在spring-framework-4.1.0.RELEASE\docs\spring-framework-reference\html\xsd-config.html文件中有schema引用的说明。


(4)测试


2、依赖注入(DI)

DI :Dependency Injection,指在定义bean时为属性注入值。

1.      编写业务层的接口和实现类,编写持久层的接口和实现类。



2.      配置bean,给属性注入值


三、bean的装配(基于xml)

1、实例化bean

方式一:默认构造方法

当配置一个bean时,默认调用无参构造方法实例化对象


方式二:静态工厂


一般情况下应用于spring和其他框架整合的时候

方法三:对象工厂


2、bean种类和作用域

bean的种类有:

         基本bean:<bean id=”” class=””>

         FactoryBean:是一个bean,是创建特定bean对象的工厂bean。

         BeanFactory:是一个factory,可以创建任意bean对象的工厂。

bean的作用域:有bean标签的scope属性决定,默认singleton

         singleton 单例

         prototype 多例

         request一次请求

         session一次会话

3、bean生命周期

生命周期表示使用对象前或后,要执行的操作,初始化在前,销毁在后

1.    配置bean


2.   测试,要关闭ApplicationContext对象,才会调用destory方法,只有ClassPathXmlApplicationContext才有close方法。


4、属性依赖注入

依赖注入分为:手动注入和自动注入。

        手动注入:基于xml配置时使用

        自动注入:基于注解使用

               又分:按名称、按类型、不确定注入

(1)构造方法注入

   首先bean要提供无参和带参的不同构造方法,供bean使用

(2)set方法注入

利用属性的setXxx()方法给属性注入值


(3)集合注入

表示bean中的属性是数组或集合类型,注入方式



四、bean的装配(基于注解)

使用一系列的注解对bean进行实例化,同时给属性注入值。注解使用前提,添加context命名空间。且新加入spring-aop-4.1.0.RELEASE.jar包。

@Component注解

声明bean,等价于<bean class=””>,@Component(“id”),等价于<bean id=”” class=””>

@Component能表示持久层、业务层、表现层的bean。为了更好分层开发,提供和@Component功能等价的3个注解,分层表示:

         @Repository :dao层

         @Service:service层

         @Controller:web层




依赖注入

相关注解可以给私有字段设置,也可以给setter方法设置。

         普通值:@Value("")

 

         引用值:

                   方式1:按照类型注入

                            @Autowired

                   方式2:按照名称注入1

                            @Autowired

                            @Qualifier("名称")

                   方式3:按照名称注入2

                            @Resource(name="名称")

生命周期

        初始化:@PostConstruct,指定初始化方法

         销毁:@PreDestroy,指定销毁方法

         

作用域

         @Scope("prototype")


最后:在配置文件中指定要扫描的bean所在的包。


注解配置和xml配置混用

一般情况下,吧bean类用xml配置文件配,bean中的属性用注解进行注入值。

默认情况下,不会自动给属性注入值。在配置文件中加<context:annotation-config></context:annotation-config>使注解注入生效。

<context:component-scan>和<context:annotation-config>不能共存


<context:component-scan base-package=””>自动扫描指定包的bean对象,属性注入自动生效

< context:annotation-config>在xml配置和注解配置混用时使用,使属性注解注入生效。


  • 6
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Spring是一个开源的Java开发框架,它提供了许多功能和工具,可以帮助开发者更加方便和快速地构建应用程序。 要想从入门到精通Spring,首先需要了解和掌握Spring的核心概念和基本原理。了解Spring MVC等Spring框架的基本工作原理,熟悉Spring的注入(DI)和切面编程(AOP)等重要特性,这是Spring的基石。 其次,学习和掌握Spring框架的各个模块和组件。Spring框架提供了众多的模块,如Spring Boot、Spring Data、Spring Security等,这些模块都有自己的特点和应用场景。了解每个模块的作用和使用方法,能够根据具体需求灵活应用。 进一步,给自己找一个实际的项目来练手。通过实际项目的开发,可以更好地理解Spring的各项功能和特性。在实际项目中,可以使用Spring依赖注入、AOP、事务管理等特性,提高代码的可维护性和灵活性,加深对Spring框架的理解和掌握。 同时,了解Spring的最新动态和更新。Spring框架在不断的发展和更新,新的版本可能会有一些新的功能和改进,了解并使用新的功能可以提高开发效率和代码质量。 最后,参加相关培训或考取相关认证。Spring的知识非常广泛和庞大,通过参加培训或考取相关认证可以系统地学习和掌握Spring框架的各个方面,提升自己的技术能力和职业竞争力。 总之,要想从入门到精通Spring,需要不断地学习和实践。通过理论和实践相结合,不断提升自己的能力和对Spring的理解,最终可以成为Spring的专家。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值