springboot初学(二)注解说明

一。@SpringBootApplication

该注解的作用:@SpringBootApplication是@Configuration,EnableAutoConfiguration,@ComponentScan的组合。SpringBoot 提供了统一的注解来替代以上三个注解,简化程序的配置。

二。@Configuration

springboot官方文档

@Configuration is a class-level annotation indicating that an object is a source of bean definitions.

@Configuration classes declare beans via public @Bean annotated
methods. Calls to @Bean methods on @Configuration classes can also be
used to define inter-bean dependencies.

@Configuration 是一个类级注释,指示对象是一个bean定义的源。@Configuration 类通过 @bean 注解的公共方法声明bean。
@Bean 注释是用来表示一个方法实例化,配置和初始化是由 Spring IoC 容器管理的一个新的对象。
通俗的讲 @Configuration 一般与 @Bean 注解配合使用,用 @Configuration 注解类等价与 XML 中配置 beans,用 @Bean 注解方法等价于 XML 中配置 bean。
举个栗子:

<beans>
    <bean id = "UserService" class="com.user.Userservice">
        <property name="userDAO" ref = "userDAO"></property>
    </bean>
    <bean id = "userDAO" class="com.user.UserDAO"></bean>
</beans>
java代码:

 
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
 
@Configuration
public class Config {
    @Bean
    public UserService getUserService(){
        UserService userService = new UserService();
        userService.setUserDAO(null);
        return userService;
    }
 
    @Bean
    public UserDAO getUserDAO(){
        return new UserDAO();
    }
}

 
public class UserService {
    private UserDAO userDAO;
 
    public UserDAO getUserDAO() {
        return userDAO;
    }
 
    public void setUserDAO(UserDAO userDAO) {
        this.userDAO = userDAO;
    }
}


 
public class UserDAO {
}

该注解的作用: 使用 public 修饰 @Bean 注解的方法;UserService、UserDAO 类无需声明为 > @Component、@Service、@Repository、@Controller;

三。@RestController

该注解的作用:这个注解是@response 和@Controller的结合

四。@ConfigurationProperties(一个注解,批量注解)

该注解的作用:告诉springboot将配置文件与类中的字段进行绑定,默认从全局配置中获取值,但是当指定了@PropertySource时,会从指定的配置文件中加载数据。

五。@value(单个注解,一个一个的去做,正好和四相对)

该注解的作用:

<bean>
	<property name="xxx" value=""/>这里的value可以注入字面值,可以通过${key}从环境变量,配置文件中,也可以通过#{spel}表达式注入 
</bean>

那我们的@value注解就是加在bean字段上的注解,也可以通过上述三种方式注入值。
在这里插入图片描述

六。@validated

该注解的作用:开启jsr303校验,@ConfigurationProperties(prefix = “”)支持数jsr303校验 ,但是@value不支持

七 @ImportResource(value = {“classpath:xxx.xml”})

该注解的作用:就相当于让springboot知道这是一个spring的配置文件。这样就可以识别配置文件中的bean。
但是现在springboot不推荐编写spring的配置文件了。而是是编写spring的配置类
springboot推荐使用全注解的方式
spring配置类(@Configuration)=========xxx.xml配置文件

八。@Configuration

该注解的作用:使用该注解标注的类,便是换一个配置类,也就相当于配置文件。在这里面的方法上有@Bean,就可以为容器中添加组件了,但前提是这个自动配置类是满足@Conditional指定的条件。

***springboot把之前的xml文件的配置方式,现在都变为注解的方式,@Value  @Bean@Configuration就是很好的证明。***

九。@EnableConfigurationProperties(xxx.java)

该注解的作用:启动指定类的@ConfigurationProperties注解功能,使得指定类可以和相应的properties文件的数据与字段进行绑定,最终将该绑定好的类加入到springboot容器里面。

十。@Conditional

该注解的作用:根据不同的条件,如果满足指定的条件,真个配置类里面的配置就会生效。
例如:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值