Spring使用注解开发
保留配置文件
1.在配置文件中引入context约束
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd">
</beans>
2.添加注解驱动支持,扫描指定包下的注解
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd">
<!--添加注解驱动支持-->
<context:annotation-config/>
<!--扫描指定包下的注解-->
<context:component-scan base-package="com.deng"/>
</beans>
3.注册bean
在类上添加注解@Component表示这个类已经被Spring管理,Spring自动生成一个对应的bean
@Component
public class User {
//相当于<property name="" value=""/>
@Value("张三")
public String name;
}
上述代码等价于在Spring配置文件注册一个bean,如下:
<bean id="user" class="User">
<property name="name" value="张三"/>
</bean>
4.Spring中常用注解
- @Autowired:自动装配
- @Nullable:字段标记了这个注解,说明这个字段可以为null
- @Resource:自动装配,与@Autowired类似
- @Component:组件,放在类上,说明这个类被Spring管理了,就是bean
- @Value(“张三”):属性
- @Scope(“singleton”):作用域
- @Import:导入一个类
** @Component有几个衍生注解(与@Component作用是一样的),在web开发中会按照mvc三层架构进行开发 **
- dao【@Repository】
- service【@Service】
- controller【@Controller】
作用都是将某个类注册到spring容器中,装配Bean
纯注解开发
1.新建一个config类取代原来的配置文件
// @Configuration代表这是一个配置类,取代了原先的配置文件applicationContext.xml
@Configuration
//扫描包下的注解
@ComponentScan("com.deng.pojo")
public class Config {
// 在一个方法上天添加注解@Bean表示将它注册成一个bean
// 这个方法的名字,就相当于bean标签中id
// 这个方法的返回值,就相当于bean标签中的class
@Bean
public User user(){
return new User();
}
}