一、创建实体类
@Component("user")
public class UserBean {
...
}
二、创建配置类
@Configuration
@ComponentScan("chu.yi.bo")
public class Application {
...
}
@Configuration 注解表示该类时配置类,使用 AnnotationConfigApplicationContext 容器来加载配置类,该注解的 value 属性用于指定配置类的字节码。@ComponentScan 注解用于指定 Spring 容器需要扫描的包,该注解的 basePackages 属性用于指定要扫描的包。
三、测试
public void testSpring() {
ApplicationContext applicationContext =
new AnnotationConfigApplicationContext(Application.class);
UserBean user = (UserBean) applicationContext.getBean("user");
}
四、@Bean 注解使用
@Bean 注解作用于方法上,表示该方法创建一个对象,并存入 Spring 容器中。该注解的 name 属性给该方法所创建的对象指定在 Spring 容器中的唯一 id。
@Configuration
@ComponentScan("chu.yi.bo")
public class Application {
@Bean(name="date")
public Date createDate() {
return new Date();
}
}
@Component("user")
public class UserBean {
@Value("xiaoming")
private String username;
@Value("18")
private String age;
@Resource(name="date")
private Date birthday;
}
五、@Import 注解使用
可以创建多个配置类,最终使用 @Import 注解将多个配置类合并成一个配置类,最终 Spring 容器之加载一个配置类。最终 Spring 容器的加载配置类需要使用 @Configuration 进行标注,其他的配置类可以省略。@ComponentScan 注解同理。
@Configuration
public class BeanConfig {
...
}
@Configuration
@ComponentScan("chu.yi.bo")
@Import({BeanConfig.class})
public class Application {
...
}
六、@PropertySource 注解使用
@PropertySource 注解用于加载 .properties 配置文件,项目中使用的一些配置信息一般放置在配置文件中。该注解的 value 属性用于指定配置文件的路径,如果配置文件在类路径下,路径前需要添加 classpath:。
配置文件 UserInfo.properties:
user.username=xiaoming
user.age=18
@Component("user")
@PropertySource("classpath:UserInfo.properties")
public class UserBean {
@Value("${user.username}")
private String username;
@Value("${user.age}")
private String age;
@Resource(name="date")
private Date birthday;
}
版权声明:本文为u010723080原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。