定义Java配置文件
@Configuration
public class AppConfig{
@Bean(name="user")
public User initUser(){ User user =new User(); user.setId(1L); user.setName("user1_name_1");return user;}
}
@Configuration代表这是一个Java配置文件,Spring的容器会根据它来生成IOC容器去装配Bean;
@Bean代表将initUser()方法返回的对象装配到IoC容器中,而其属性name定义这个Bean的名称,如果没有配置它,则方法名称“initUser”作为Bean的名称保存的Spring IoC容器中。
通过扫描装配你的Bean
@Component("user")
public class User{
@value("1")
private Long id;
@value("user1_name_1)
private String userName;
/**setter and getter**/省略
}
这里的注解@Component表明这个类将被Spring IoC容器扫描装配,其中“user”则是作为Bean的名称,当然你也可以不配置,那么容器就会把类名的第一个字母作为小写其他不变地作为Bean名称放入到IoC容器中;
注解@value则是制定具体的值,使IoC给予对应属性注入对应的值。
为了让spring IoC容器装配这个类,需要改造类AppConfig,如代码所示。
@configuration
@ComponentScan
public class AppConfig{}
这里加入了@ComponentScan,是表明采用何种策略去扫描装配Bean
网友评论