声明Bean的注解
-
@Controller
控制层
-
@Service
业务层
-
@Repository
持久化层
以上三个注解都是@Component的延申,同时也是可以使用这个注解来替代以上三个注解的任意一个,那么为什么还会出现这个三注解。就是因为见名知意
相当于我们xml文件中的bean标签
<beans>
<bean>
</bean>
</beans>
注入Bean的注解
-
@Autowired
根据属性类型自动装配的
-
@Qualifier(value ="user0")
在多个属性类型相同的情况下,我们需要使用该注解去配合@Autowired找到相应的bean对象,那么该注解时根据属性名称自动注入的
-
@Resource
-
它是javax中的注解,并不是spring中的注解
-
它是根据类名写去找到对应的bean对象的
/* <bean id="" class="xx.xx.User"></bean> */ @Resource(name = "user") private User userABC; //若name值没有写,则会报错
-
-
@Value
@Value("张三") //可以大概的说等价于 private String name ="张三";
也就相当于
<bean id="user02" class="com.dragon.pojo.User"> <property name="name" value="张三"/> </bean>
配置类注解
-
@Configuration
作用在类上
声明当前类为配置类
也就是替代了我们的xml配置文件
-
@Bean
也是相当于
<bean id="" class=""></bean>
其中id值为方法名,
class为new出的类名
@Bean(name = "getString") //作用在方法上的 //返回一个bean对象的 //<bean id="方法名" class="new String"> public String getObjectTest(){ return new String("你好"); }
记住是注入到了IOC容器中
-
@ComponentScan
扫描指定路径下Component的组件
该注解一般作用在配置类中