springboot笔记(一)

这篇博客主要介绍了SpringBoot的重要注解,包括@SpringBootApplication、@RestController、@Autowired、@Scope等,以及常见HTTP请求方法的使用。还提及了如何读取application.yml文件中的配置,并简单介绍了字段注解的用途。
摘要由CSDN通过智能技术生成

小白第一次写博客,在这里记录下个人认为比较重要的知识整理,有错求评论指出.

1.springboot常用注解

1.1@SpringBootApplication

这个注解用于启动springboot项目,默认会在主类上添加,可以看做@Configuration,@EnableAutoConfiguration,@ComponentScan注解的合集.

这三个注解的作用分别是 :
@EnableAutoConfiguration : 启用SpringBoot的自动配置机制
@Configuration : spring项目中用于导入配置类或注入额外bean,例如jedis,restTemplete,经常与@Bean配合
@ComponentScan : 扫描该类所在包下的所有的类的注解,用于扫描@Component(@Service,@Controller)等注解的bean,生成对应实例

1.2Spring Bean相关注解

1.2.1Component相关注解

@Component: 将注解类生成的实例化对象交给spring容器管理,当Bean所属的层待定时,可使用该注解
@Repository : 对应持久层即Dao层,用于数据库操作
@Service : 多用于标记业务接口的实现类,拦截器上偶尔会标记使用,主要负责复杂的业务逻辑和vo对象包装
@Controller : 用于接收用户请求并调用对应的service层返回数据给前端页面,主要映射uri路径

1.2.2RestController

是@Controller的注解的升级版,包含@Controller和@ResponseBody,表示Bean在接收请求返回数据时将数据转换为JSON或Xml形式数据,是Rest风格的控制器.
单独的@Controller一般用于返回一个视图,需要在application.yml文件中配置前缀和后缀名,添加返回的数据可在形参上注入Model对象,属于传统SpringMVC的应用,前后端不分离的情况下常用.

1.2.3@Autowired

前提是已经将Bean对象交给了Springboot容器管理才可使用,否则容易报空指针异常,作用是自动导入对象到该类中,默认情况下是ByType,也就是按照类型注入,通常是@Service标记接口实现类,而@Autowired标记在接口上

@Resource 与@Autowired近似,规则按照byName优先,在未找到对应名字的实例对象时会按照类型注入,相对@Autowired更加友好.

Ps: @Autowired如果实例化对象加载顺序在后,需要改为@Autowired(required=false),表示在启动时不检查该类是否有实例化对象

1.2.4Scope

使用方法:

@Bean
@Scope("singleton")
public User user(){
   
	return new user();
}

与@Bean注解配合,声明该对象的作用域,作用域声明参照以下链接
原文链接:https://blog.csdn.net/tzbugs/article/details/82142286
例:@scope默认是单例模式(singleton)即:@scope(“prototype”)

1.singleton单例模式,

全局有且仅有一个实例

2.prototype原型模式,

每次获取Bean的时候会有一个新的实例

3.request

    request表示该针对每一次HTTP请求都会产生一个新的bean,同时该bean仅在当前HTTP request内有效,

4.session

     session作用域表示该针对每一次HTTP请求都会产生一个新的bean,同时该bean仅在当前HTTP session内有效

5.global session

     global session作用域类似于标准的HTTP Session作用域,不过它仅仅在基于portlet的web应用中才有意义。Portlet规范定义了全局Session的概念,它被所有构成某个 portlet web应用的各种不同的portlet所共享。在global session作用域中定义的bean被限定于全局portlet Session的生命周期范围内。如果你在web中使用global session作用域来标识bean,那么web会自动当成session类型来使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值