Spring纯注解开发,只是将xml配置项移到注解配置,我们只需要将xml和注解一一对应迁移即可
常用注解说明
注解 | 对应XML标签 | 说明 |
---|---|---|
表示此类交给SpringIOC容器管理注解 |
||
@Component | <bean/> | 表示此类交给SpringIOC容器管理 |
@Controller | <bean/> | 组合注解(组合了@Component注解),应用在MVC层(控制层),DispatcherServlet会自动扫描注解了此注解的类,然后将web请求映射到注解了@RequestMapping的方法上。 |
@Service | <bean/> | 组合注解(组合了@Component注解),应用在service层(业务逻辑层) |
@Reponsitory | <bean/> | 组合注解(组合了@Component注解),应用在dao层(数据访问层) |
@Scope | <bean scope=""/> | 配合以上四个注解,指定被管理类的生命周期singleton ,prototype 等 |
表示从IOC容器中获取Bean注解 |
||
@Autowired | <property/> | Spring提供的工具(由Spring的依赖注入工具(BeanPostProcessor、BeanFactoryPostProcessor)根据类型自动注入。) |
@Qualifier | / | @Autowired 的辅助注解,帮助确认唯一Bean |
@Resource | <property/> | JSR-250提供的注解,注入属性使用,JDK11删除 不建议使用 |
以下是迁移配置文件,在配置类中使用的注解 |
||
@Configuration | / | 声明当前类是一个配置类(相当于一个Spring配置的xml文件) |
@ComponentScan | <context:component-scan/> | 自动扫描指定包下所有使用@Service,@Component,@Controller,@Repository的类并注册 |
@PropertySource | <context:property-placeholder/> | 指定引入外部属性资源文件 |
@Value | / | 指定从外部资源文件获取数据@Value("${jdbc.url}") |
@Import | <import/> | 指定引入其他配置类 |
@Bean | <bean/> | 注解在方法上,声明当前方法的返回值为一个Bean。返回的Bean对应的类中可以定义init()方法和destroy()方法,然后在@Bean(initMethod=“init”,destroyMethod=“destroy”)定义,在构造之后执行init,在销毁之前执行destroy。 |
配置
项目内类交给IOC容器管理和获取
// 指定数据访问层,交给IOC容器管理
@Repository("accountDao")
public class JdbcAccountDaoImpl implements AccountDao {