springboot注解、工厂特性创建对象

如题所述

第1个回答  2022-07-28
此注解的作用:用来标识这是一个springboot入口类,这个标识只能出现一次。
@SpringBootApplication 是一个派生注解|组合注解 等价以下三个:

以下是java中的元注解,用来修饰注解的注解。

1.通过main函数这种方式启动内部内嵌tomcat服务。
通过标注java入口方式为头给SpringApplication,并告知当前springboot主应用类是谁,从而启动springboot中tomcat容器。
2.SpringApplication.run(Application.class,args);
参数1:入口类类对象 目的让@EnableAutoConfiguration 自动配置spring时将@ComponentScan扫描到注解创建对象一并放入工厂。
参数2: main函数的参数 这个参数通过指定外部虚拟机参数形式覆盖应用内部默认参数。
我们application.yml中写的的参数是内部参数如:
server:
port: 8989
servlet:
context-path: /nono
外部虚拟机参数如下:

@RestController == @Controller + @ResponseBody
修饰范围: 用在类上,用在所有控制器上
作用: 用来实例当前对象为一个控制器对象,将控制中所有方法的返回值转换为json并响应到前端。

@Controller(实例化当前类为一个控制器)
@ResponseBody(将当前方法返回值转为json,响应给浏览器)

我们现在的开发方式都是前后端分离的:

@RequestMapping
作用:用来加入访问路径。
修饰范围:类(加入命名空间) 方法上(指定具体路径)

@GetMapping
作用:限定请求方式只能是GET,并指定路径。
修饰范围:方法上。
同样的还有:@PostMapping,@DeleteMapping,@PutMapping

Springboot = Spring 项目管理工厂特性 + springmvc控制器

1、创建单个自定义对象
注解方式:@Component 通用组件对象的创建注解
@Service标识业务层组件创建 @Controller控制器对象创建 @Repository用来创建DAO组件注解
(不是三层架构里的类,创建对象用@Component)

2、一次性创建多个组件对象包含复杂对象
复杂对象如Calendar 日历对象
@Configuration 配置注解|派生注解 修饰范围:用在类上 作用:相当于曾经spring.xml配置文件
@Configuration是派生注解:
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Component

@Bean 注解 修饰范围:方法上 作用:相当于spring.xml bean标签作用 用来创建这个对象在工厂的一个实例

@Component和@Configuration的效果一样,只是@Configuration在springboot中有表明是配置对象的意思
总结:日后在使用Springboot的过程中创建单个对象用@Component注解,创建多个对象使用@Configuration注解。

staters启动器:
spring-boot-starter-web 是一组方便依赖关系的描述符。
相似回答