定义一个java对象
package com.springboot.chapter3.pojo;
import lombok.Data;
@Data
public class User {
private Long id;
private String username;
private String note;
}
在定义一个java配置文件类AppConfig.java
package com.springboot.chapter3.config;
import com.springboot.chapter3.pojo.User;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
//Configuration代表这是一个java配置文件,Spring的容器会根据它来产成IoC容器去装配Bean
public class AppConfig {
//@Bean代表将initUser方法返回的POJO装配到IoC容器中,而其属性name定义这个Bean的名称.
@Bean(name = "user")
public User initUser(){
User user = new User();
user.setId(1L);
user.setUsername("user_name_1");
user.setNote("note_1");
return user;
}
}
使用AnnotationConfigApplicationContext构建自己的IOC容器
package com.springboot.chapter3.config;
import com.springboot.chapter3.pojo.User;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class IocTest {
private static Logger logger = LoggerFactory.getLogger(IocTest.class);
public static void main(String[] args){
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class);
//User user = (User) applicationContext.getBean("user");
User user = applicationContext.getBean(User.class);
logger.info(user.getId().toString());
}
}
代码中将java配置文件AppConfig传递给AnnotationConfigApplicationContext的构造方法,这样它就能够读取配置了.然后将配置里面的Bean装配到IoC容器中,于是可以使用getBean方法获取对应的POJO