@Autowired
@Autowired
private Car car;
从容器中找到car类型的bean 然后注入进来
@Value
@Value("BMW")
private String brand;
效果等同于xml中的p:brand=”BMW”
@Component
声明一个spring的组件(即bean)
泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
@Configuration
声明该类为配置类 主要用于扫描component注解的bean。作用等同于配置文件。
把一个类作为一个IoC容器,它的某个方法头上如果注册了@Bean,就会作为这个Spring容器中的Bean。
@ComponentScan
@ComponentScan(basePackages = {"com.java12.spring.annotation.component","com.java12.spring.annotation.respository","com.java12.spring.annotation.service"})
去basePackages指定路径下去寻找Component组件。
@ComponentScan 默认情况 扫描与该类路径一样的包 扫描不光是带有@Component注解的类,还包括@Service,@Repository
@Service
组合注解(组合了@Component注解),应用在service层(业务逻辑层)
@Reponsitory
组合注解(组合了@Component注解),应用在dao层(数据访问层)
@Controller
组合注解(组合了@Component注解),应用在MVC层(控制层)。
@RunWith
这个是Junit的注解,springboot集成了junit。一般在测试用:@RunWith(SpringJUnit4ClassRunner.class) — SpringJUnit4ClassRunner在JUnit环境下提供Sprng TestContext Framework的功能
@ContextConfiguration
用来加载配置ApplicationContext,其中classes属性用来加载配置类:@ContextConfiguration(classes = {TestConfig.class(自定义的一个配置类)})
@ContextConfiguration(classes = ComConfig.class)
@Repository
@Compoent等同于@Repository,可以通过Repository注解的value属性 限定该bean的名字。
@Qualifier(“user”)
方便在注入的时候通过Qualifier指定,或者可以通过Qualifier直接限定Repository的名字
@Primary
自动装配时当出现多个Bean候选者时,被注解为@Primary的Bean将作为首选者,否则将抛出异常
@Scope
用于指定scope作用域的(用在类上)
@PropertySource
@PropertySource("jdbc.properties")
用于导入资源properties文件 配合Environment使用
@Bean
采用java的形式进行声明 new xxx();
@Profile(“online”)
表示当一个或多个指定的文件是活动的时,一个组件是有资格注册的。使用@Profile注解类或者方法,达到在不同情况下选择实例化不同的Bean。@Profile(“dev”)表示为dev时实例化。
@ActiveProfiles(“online”)
指定激活哪个数据源
@Before
测试方法的注解 在运行@Test方法之前运行的方法