Bean自动装配
autowire = "ByName"
-
bean的id要唯一
-
和自动注入的属性的set方法的值一致
autowire = "ByType"
-
bean的class要唯一
-
和自动注入的属性的类型一致
使用注解自动装配
-
可以不编写set方法使用
@Autowired
-
xml配置中引入context文件头
xmlns:context="http://www.springframework.org/schema/context"
......
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
-
开启注解支持
<context:annotation-config/>
-
类的属性中添加注解@Autowired
@Qualifier
-
@Qualifier不能单独使用
-
@Qualifier(value = "xxx")
-
@Autowired是根据类型自动装配的,加上@Qualifier则可以根据byName的方式自动装配
@Resource
-
@Resource如有指定的name属性,先按该属性进行byName方式查找装配
-
其次再进行默认的byName方式进行装配
-
如果以上都不成功,则按byType的方式自动装配
使用注解开发
-
配置扫描指定包下的注解,扫描了才会生效
<context:component-scan base-package="com.kuang.pojo"/>
@Component
@Component("user")
// 相当于配置文件中 <bean id="user" class="当前注解的类"/>
使用注解添加属性
-
没提供set方法,直接类中添加@value("值")
-
提供了set方法,在set方法上添加@value("值")
@Component三个衍生注解
为了更好的进行分层,Spring可以使用其它三个注解,功能一样,目前使用哪一个功能都一样,都是将该类注册到Spring中(装配Bean)
-
@Controller:web层
-
@Service:service层
-
@Repository:dao层
配置类 @Configuration
用于替代xml文件
@Configuration //代表这是一个配置类标签:装配,set,Qualifier,自动,context,注解 From: https://www.cnblogs.com/hmzblogs/p/17553592.html
public class MyConfig {
@Bean //通过方法注册一个bean,这里的返回值就Bean的类型,方法名就是bean的id!
public Dog dog(){
return new Dog();
}
}