初步了解Spring,从注解开始

首先了解Spring是什么,Spring对于程序员的意义不亚于春天来了,所以取了一个这么有春意的名字。

Spring是一个开源框架,它的作用是什么?降低java开发复杂性--简化java开发,先看下Spring的4种关键策略

1.基于POJO的轻量级和最小侵入性编程(spring核心包才1M,对容器依赖越小,越轻量,EJB启动消耗大量内存资源)

2.通过依赖注入和面向接口实现松耦合

3.基于切面和惯例进行声明式编程

4.通过切面和模板减少样板式代码

【DI依赖注入】:Spring的核心功能,具体作用是一个应用通常会有多个类,这些类之间的协作会行程错综复杂的关系,导致高度耦合和难以测试的代码。

A类和B类的依赖关系将被注入到第三方管理,这样在代码中可以实现低耦合。依赖注入有两种方式:“构造注入”,“设值注入”

构造注入:

public class BraveKnight {
    private Quest quest;
    public  BraveKnight(Quest quest){
        this.quest=quest;
    }
    public void embarkonQuest(){
        
    }
}

【tips】感觉了解spring的关键在于了解AOP和依赖注入。学号使用各种注解就是成功的关键。最近从android转后台,还好都是Java操作,感觉自己比较害怕学习新事物,python,php,go,R语言一概都不怎么接触,虽然语言只是工具,一通百通。但是还是不习惯接触新事物。

话不多说,我们看下Spring容器解析配置元数据进行bean初始化,配置和管理依赖。配置元数据指的是xml配置,注解配置,java配置。

声明Bean注解:

@Component
@Repository
@Controller
@Service

注入Bean的注解

@Autowired
@Inject
@Resource

使用方式如下:

package com.rola.springlearn1.service;
import org.springframework.stereotype.Service;



@Service
public class LoginService {

}

@Autowired只需声明,spring会帮助实例化化。

简单说明一下

不需要

new一个,通常如果我们没有分配堆空间,会显示空指针异常,这种会避免了这个问题。

【关于切面AOP】

1.使用@Aspect声明是一个切面

2.@After @Before @Around 定义建议,可以直接将拦截规则作为参数,例如在验证登录密码什么之前,先加密密码等,就可以使用@After这样的注解。

3.使用pointcut专门做拦截然后在2之处调用

4.JoinPoint

这些应用会在之后注解讲解一一提到并应用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值