集团主站
欢迎来到成都达内官方网站!达内—美国上市公司 亿元级外企IT培训企业!
成都it培训哪家好
成都it培训哪家好
全国服务监督电话:15023458194  |   联系客服   |
当前位置:主页 > 培训课程 > Java >

成都java培训哪里好?SpringBoot常用注解总结

发布者: 成都达内     浏览次数:     发布时间:2020-08-27 10:07:58

成都java培训哪里好?在SpringBoot框架中,注解做为一种隐式配置,极大的简化了之前xml文件的配置方式。SpringBoot中包含许多种类的注解...

  在SpringBoot框架中,注解做为一种隐式配置,极大的简化了之前xml文件的配置方式。SpringBoot中包含许多种类的注解,这里对在SpingBoot项目中经常使用到的一些注解的进行大致的归纳总结;

  一、启动相关

  1、@SpringBootApplication

  SpringBootApplication注解:

  @Target(ElementType.TYPE)

  @Retention(RetentionPolicy.RUNTIME)

  @Documented

  @Inherited

  @SpringBootConfiguration

  @EnableAutoConfiguration

  @ComponentScan(excludeFilters = {

  @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),

  @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })

  public @interface SpringBootApplication {

  在SpirngBoot启动类里面,都加入了此启动注解,此注解是个组合注解,三个比较重要的:

  @SpringBootConfiguration 继承至@Configuration,其实两种功能一致,都是标注该类为配置类

  @EnableAutoConfiguration 这个注解是SpirngBoot自动配置的核心所在,通过此注解,能所有符合自动配置条件的bean的定义加载到spring容器中。

  @ComponentScan 该注解会扫描当前包及子包下面被纳入sping容器管理的类。

  注意事项:

  一般我们在实际项目中会根据自己的需要排除一些无需自动配置的类,例如我们会配置自己的数据库,所以就不需要springboot自动注入数据源,这可以利用exclude进行排除

  @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})

  当需扫描第三方jar包时,我们可以通过在配置类中使用@Configuration与@ComponentScan来引入第三方jar包下的类

  @Configuration

  @ComponentScan(basePackages = {"com.test.service"}) //引入第三方jar包下的类

  2、@Import

  @Import注解可用来导入一个或者多个 Spring 配置文件,特别是第三方jar包下的一些配置类,需要通过Import注解进行加载,代码如下所示

  @Import({KafkaConfig.class, JedisConfig.class}) //引入第三方jar包里配置类

  二、配置相关

  以一般的的配置类中用到的注解为例

  1、@Configuration

  @Configuration专门用来标注配置类,它一般会配合

  2、@Bean

  使用@Bean注解拿到配置返回相关实例,并放入sping容器中统一管理

  3、@PropertySource

  目的是加载指定路径下的属性文件

  4、@Value

  配合@PropertySource注解使用,指定该字段对应的配置文件中的内容

  5、@Order

  利用@Order控制配置类的加载顺序

  结合以上注解对kafka进行配置示例代码如下

  @Configuration

  @PropertySource("classpath:spring-kafka.properties")

  @Order(2)

  public class KafkaConfig {

  @Value("${spring.kafka.bootstrap-servers}")

  private String bootstrapServers;

  @Bean

  public KafkaListenerContainerFactory> kafkaListenerContainerFactory() {

  ConcurrentKafkaListenerContainerFactory factory = new ConcurrentKafkaListenerContainerFactory();

  factory.setConsumerFactory(consumerFactory());

  factory.setConcurrency(1);

  // factory .getContainerProperties().setPollTimeout(1000);

  return factory;

  }

  }

  三、构造相关

  1、@Service

  用于标注服务层,主要用来进行业务的逻辑处理

  2、@Repository

  用于标注持久层,主要用来进行数据库相关操作

  3、@Component

  一个通用的注解,可以注解各种组件,就是说当我们需要注入sping容器中bean类没有明确分类时(不属于@service、@Repository等的时候),我们就可以使用@Component来标注这个类。

  4、@Scope

  spring容器管理bean默认是单例模式,如果你需要使用多例模式可以通过@Scope("prototype")注解来实现。

  5、@Autowired

  这个就很简单了,用于Spring容器中Bean类实例的注入

  6、@PostConstruct

  在Bean初始化之后(构造方法和@Autowired之后)执行指定操作。如果在项目中有些操作需要在Bean类构造后执行,可以使用@PostConstruct注解,实例代码如下

  @RestController

  @RequestMapping("/api")

  public class ApiController extends BaseController {

  @PostMapping("/login")

  public User login(@RequestBody User user){

  //代码

  }

  @GetMapping("/getUser")

  public User getUser(@RequestParam String userName, @RequestParam String userPhone){

  //代码

  }

  }

(责任编辑:范老师)
最新开班
  • 成都Java培训班
    免费试听名额发放中...
  • 成都C++培训班
    免费试听名额发放中...
  • 成都PHP培训班
    免费试听名额发放中...
  • 成都网络工程培训班
    免费试听名额发放中...
  • 成都Unity3D培训班
    免费试听名额发放中...
  • 成都大数据培训班
    免费试听名额发放中...
  • 成都uid培训班
    免费试听名额发放中...
  • 成都会计培训班
    免费试听名额发放中...
  • 成都Python培训班
    免费试听名额发放中...
  • 成都嵌入式培训班
    免费试听名额发放中...
  • 成都web培训班
    免费试听名额发放中...
  • 成都软件测试培训班
    免费试听名额发放中...
在线留言
提交

校区地址:成都市锦江区东大街紫东楼端35号明宇金融广场19楼1906室

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市高新区奥克斯广场蜀锦路209号一楼商铺

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都锦江区东大街芷泉街229号东方广场C座3楼303

联系电话:15023458194

公交路线:芷泉街(188路;115路;515路;236路;505路;501路;84路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市武侯区佳灵路3号红牌楼广场2号写字楼11楼1115号

联系电话:15023458194

公交路线:红牌楼东(11路;92路;100路;111路;139路;g28路;快速公交K1/K2) 地铁路线:红牌楼站(地铁3号线)

校区地址:成都市锦江区红星路二段70号四川日报大厦502-2

联系电话:15023458194

公交路线:市二医院站(6路;49路;102路;5路;37路;g92路;) 地铁路线:地铁市二医院(地铁3号线)

校区地址:成都市锦江区东大街芷泉段229号东方广场C座16层

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:四川省成都市武侯区高新科技孵化园9号园区E座7楼

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都市高新区奥克斯广场B座1708

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

了解达内动态
关注成都达内教育公众号

首页 | 关于达内 | 课程中心 | 专家师资 | 视频教程 | 学员空间 | 校企合作 | 新闻资讯 | 就业指导 | 网站地图

2016-2025 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56