画布 1
spring注解开发
  实例化Bean
    @Component(id)
    @Controller(id) //效果等同于@Component,使用在web层类上用于实例化Bean
    @Service(id) //效果等同于@Component,使用在service层类上用于实例化Bean
    @Repository(id) //效果等同于@Component,用于标示dao层bean实例化
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
........
</bean>
  参数注入
    @Autowired
@Qualifier("id") //一起使用用于根据名称进行依赖注入
    @Resource(id) //相当于@Autowired+@Qualifier，按照名称进行注入
    @Value("jdbc:mysql://127.0.0.1:3306") //普通参数的注入
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"></property> //ref的引用
</bean>
  其他参数
    @Scope //标注Bean的作用范围
    @PostConstruct //使用在方法上标注该方法是Bean的初始化方法
    @PreDestroy //使用在方法上标注该方法是Bean的销毁方法
  替换applicationContext.xml文件
    @ComponentScan("com.springtest") //组件扫描
    @Configuration //用于指定当前类是一个 Spring 配置类，当创建容器时会从该类上加载注解
    @Import(xxxxConfig.class) //用于导入其他springconfig的配置类
    @Bean("BeanName") //使用在方法上，标注将该方法的返回值存储到 Spring 容器中
    @PropertySource("classpath:db.properties") //用于加载.properties 文件中的配置,一般和@Value配合使用
    @Configuration
@PropertySource("classpath:db.properties")
public class spring_dataSource {
@Value("${driverClassName}")
private String driverClassName;
@Bean("test")
public String test(){
return driverClassName;
}
}
    <context:component-scan base-package="com.springtest"/>
  举例
    springConfiguration主配置文件
      @Configuration
@ComponentScan("it.springtest")
@Import(spring_dataSource.class)
public class springConfig {
}
    spring_other其他分模块配置文件
      @Configuration
@PropertySource("classpath:db.properties")
public class spring_dataSource {
@Value("${driverClassName}")
private String driverClassName;
@Bean("test")
public String test(){
return driverClassName;
}
}
    Bean实例配置
      @Component("person")
public class person {
@Value("zhangsan")
private String name;
@Value("19")
private int age;
@Value("nan")
private String sex;
.........
}
      @Service
public class userService {
@Autowired
@Qualifier("person")
private person p;
.......
}