SpringBoot(含注解)详解
注解
参考博客
@SpringBootApplication
申明让spring boot⾃动给程序进⾏必要的配置,包含@Configuration、@EnableAutoConfiguration、@ComponentScan通常⽤在主类上。
注解说明
@ComponentScan ⽤来⾃动扫描被这些注解标识的类,最终⽣成ioc容器⾥的bean,默认扫描范围是@ComponentScan注解所在配置类包
及⼦包的类
@SpringBootConfiguration与@Configuration作⽤相同,都是⽤来声明当前类是⼀个配置类,这⾥表明是springboot主类使⽤的配置类
@EnableAutoConfiguration是springboot实现⾃动化配置的核⼼注解,通过这个注解把spring应⽤所需的bean注⼊容器中
@Component、@Service、@Controller、@Repository
这⼏个注解放在⼀起是因为功能基本⼀样的,都是将类注⼊到spring容器中,只不过它们使⽤的场景不同,被
@Component,@Service,@Controller,@Repository注解标注的类,这些类会被纳⼊进spring容器中管理。
注解说明
@Repository持久层(dao)注⼊spring容器
@Service业务逻辑层(server)注⼊spring容器
@Controller控制层(controller)注⼊spring容器
@Component普通pojo注⼊spring容器
1、@Component
2、@Service
3、@Controller
4、@Repository
@ResponseBody
表⽰该⽅法的返回结果直接写⼊ HTTP response body 中,⽽不会被解析为跳转路径,即不会经过视图解析器,返回什么数据即在页⾯输⼊什么数据。。
加不加的区别:
@RequestMapping、@RestController
RequestMapping:提供路由信息,负责URL到Controller中的具体函数的映射。
RestController:⽤于标注控制层组件(如struts中的action),@ResponseBody和@Controller的合集。
@AutoWired、@Qualifier、@Resource
这3个注解都是基于注解⽅式进⾏⾃动装配,在容器⾥⾯将查到的bean返回,⼀般@AutoWired⽤得最多,@Qualifier则需要配合
@AutoWired使⽤,@Resource则是可以通过名字进⾏⾃动装配
注解说明
@AutoWired@Autowired默认按类型装配,如果发现到多个bean,则按照name⽅式⽐对,如果还有多个,则报出异常
@Qualifier spring的注解,按名字注⼊ ⼀般当出现两个及以上bean时,不知道要注⼊哪个,结合@AutoWired使⽤
@Resource 默认按名称注⼊例如@Resource(name = “zhaozhao”)则根据name属性注⼊不到则报错,若⽆name属性则根据属性名称注⼊,如
果匹配不成功则按照类型匹配匹配不成功则报错。
注解说明
1、
@AutoWired
2、@Qualifier
当有⼀个接⼝的多个实现类时,只⽤@AutoWired会报错,因为它有多个接⼝的实现类,不知道你要哪⼀个,这个时候就需要在注⼊
bean的时候起个名字,然后⽤@Qualifier注解指定哪⼀个bean(按照名字注⼊与装配)
3、@Resource
该注解的使⽤相当于@AutoWired和@Qualifier配合使⽤的效果
@RequestMapping、@GetMapping、@PostMapping
这3个注解功能也是类似的,通过这3个注解来映射请求,也就是通过它来指定控制器可以处理哪些URL请求,⽤在⽅法上,可以通过配置的url进⾏访问。
注解说明
@RequestMapping@RequestMapping(url),通过该注解就可以通过配置的url进⾏访问,⽅式可以是get或post请求,两种⽅式均可@GetMapping@GetMapping(url) ,功能类似的,只是这个限定了只能是Get请求
@PostMapping@PostMapping(url),功能类似的,只是这个限定了只能是Post请求
@Value、@ConfigurationProperties、@PropertySource
注解说明
@Value⽤于获取bean的属性,⼀般⽤于读取配置⽂件的数据,作⽤在变量上@ConfigurationProperties⽤于注⼊Bean属性,然后再通过当前Bean获取注⼊值,作⽤在类上@PropertySource⽤于指定要读取的配置⽂件,可以和@Value或@ConfigurationProperties配合使⽤
1、@Value
2、@ConfigurationProperties
3、@PropertySource 不⽀持yml⽂件读取。
resource和autowired注解的区别
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论