Spring 的注解开发 -----注解在哪用,含义

注解

@Component 类注解 通过扫描后,可以创建该类并存储到IOC容器中 默认名称是 类名首字母小写 (accountServiceImpl) 可以通过value 属性 指定对象的名称 三个子注解 @Controller 与@Component注解 作用一样,一般用于表现层 @Service 作用一样 一般用于业务层 @Repository 作用一样,一般用于持久层

%%%1 @Autowired 可以标记在(setter)方法,构造方法,参数,属性上 标记在属性上 等同于给对象赋值,不需要setter方法 他的作用是: 自动装配,可以从IOC容器中找到复合类型的对象注入 特点是:默认是根据类型(byType)自动注入 如果相同的对象有多个 1)自动按照属性名从容器中查找 2)可以使用@Qualifier 注解 指定属性名称 3)@Primary 提高对象的优先级 属性: required 默认值是true, 创建IOC容器,必须注入此对象,否则报错 %%%2@Resource 自动装配, 需要指定name属性,默认根据名称(byName) 从容器中查找对象 如果找不到则根据类型查找对象

%%%1和%%%2的区别: 1是由Spring 定义, 默认byType注入 2是由jdk定义,默认byName注入

指定对象是单例还是原型模式 @Scope("SINGLETON") 作用域(“单例|原型”) PROTOTYPE | SINGLETON 有关生命周期的两个注解 @PostConstruct 对象初始化-->执行 @PreDestroy 对象销毁 ---> 执行

以上的注解放在实现类对象 上或者其方法上

在config包中创建JdbcConfig类 ( @PropertySource(“classpath:db.properties”) 加载的属性文件

类中 @value("${xxxxxx}") 对属性进行赋值 @Bean DataSource类型的方法 其中设置属性参数 )

在config包中创建MybatisConfig类 ( 类中 @Bean SqlsessionFactoryBean类型的方法 其中写属性参数

@Bean MapperScannerConfigure类型的方法 其中写属性(扫描哪个包)

最后测试纯注解模式 测试类中 创建AnnotationConfigApplicationContext对象 (里边参数 要么是包名的字符串, 要么是配置类的类对象) new AnnotationConfigApplicationContext(SpringConfiguration.class) getBean方法获取 业务层对象 调用方法 进行测试

经验分享 程序员 微信小程序 职场和发展