Spring05:注解开发
JavaConfig编写配置类
编写实体类Dog
@Component //将这个类标注为Spring的一个组件,放到容器中!
public class Dog {
public String name = "dog";
}
新建一个config的包,编写一个MyConfig类
@Configuration //代表这是一个配置类
public class MyConfig {
@Bean //通过方法注册一个bean,这里的返回值就Bean的类型,方法名就是bean的id!
public Dog dog(){
return new Dog();
}
}
JavaConfig类的诞生直接省去了xml配置文件的编写
同样config配置类中也可以引入其他的配置类,使用@Import标签
@Configuration
@Import(MyConfig2.class) //导入合并其他配置类,类似于配置文件中的 import 标签
public class MyConfig {
@Bean
public Dog dog(){
return new Dog();
}
}
Test测试
@Test
public void test2(){
ApplicationContext applicationContext =
new AnnotationConfigApplicationContext(MyConfig.class);
Dog dog = (Dog) applicationContext.getBean("dog");
System.out.println(dog.name);
}
@Component注解
@Component注解就是将该类的一个对象作为一个bean对象出现。
@Component("user")
// 相当于配置文件中 <bean id="user" class="当前注解的类"/>
public class User {
public String name = "aa";
}
@Value()属性注入
@Value注解可以为对象的常量注入值
@Component("user")
// 相当于配置文件中 <bean id="user" class="当前注解的类"/>
public class User {
@Value("秦疆")
// 相当于配置文件中 <property name="name" value="秦疆"/>
public String name;
}
@Component的三个衍生注解
@Controller:web层
@Service:service层
@Repository:dao层