Spring——注解,SPEL.

简介

  Spring作为容器,除了在xml配置对象。也可以通过注解配置对象。

注解

  Spring的原始注解主要代替<Bean>的配置

  @Component:使用在类上用于实例化Bean(Spring注入)

 

  @Controller:使用在web层类上用于实例化Bean

  @Service:使用在service层类上用于思力华bean

  @Repository:使用在dao层类上用于实例化Bean

 

  @Autowired:结合@Autowired使用,用于根据名称进行依赖注入(依赖注入)

  @Qualifier:结合@Autowired使用,用于根据名称进行依赖注入  (引用)

  @Resource:相当于@Autowired+@Qualifier,按照名称进行注入  

 

  @Value:注入普通属性

 

  @Scope:标注Bean的作用范围

  @PostConstruct:使用在方法上标注该方法时Bean的初始化方法

  @PreDestroy:使用在方法上标注该方法时Bean的销毁方法

 

使用

@Component("userService")
@Scope("singleton")
public class UserService {
    @Autowired  // 依赖注入
    @Qualifier("userDao") //引用
    private UserDao userDao;

    public void setUserDao(UserDao userDao){
        this.userDao = userDao;
    }

    public void save(){
        userDao.save();
    }
}

 

 

 

  Spring的新注解

  @Configuration:用于指定当前类时一个Spring配置类,当创建容器时会从该类上加载注解

  @ComponentScan:用于指定Spring在初始化容器时要扫描的包。

           作用和在Spring的xml配置文件中的<context:component-scan base-package='com.itheima'/>一样,用于找扫描的包

  @Bean:使用在方法上,标注该方法的返回值存储道Spring容器中。

      主要用在datasource上的方法初始化。

  @PropertySource:用于加载.properties文件中的配置。

      读入配置文件,用SPEL取值。

  @Import:用于导入其它配置类。

      导入其他配置类。

  

使用

@ComponentScan("xyz.javaswing")
@PropertySource("classpath:jdbc.properties")
@Import({DataSourceConfigration.class})
@Configuration
public class SpringCofiguration {

    @Value("${jdbc.driver}")
    private String driver;
    @Value("${jdbc.url}")
    private String url;
    @Value("${jdbc.username}")
    private String username;
    @Value("${jdbc.password}")
    private String password;

    @Bean("dataSource")  // Spring会将当前方法的返回值以指定名称存储到spring容器当中
    public ComboPooledDataSource getDataSource() throws SQLException, PropertyVetoException {
        ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource();
        comboPooledDataSource.setDriverClass(driver);
        comboPooledDataSource.setJdbcUrl(url);
        comboPooledDataSource.setUser(username);
        comboPooledDataSource.setPassword(password);
        return comboPooledDataSource;
    }
}

 

 SPEL:和EL,expressLanguage类似的语言。在注解中用${key}访问properties文件里键值对。 

    需要通过@PropertySource("classpath:jdbc.properties"),导入数据。

 

注意

  使用注解开发,需要创建专门存放配置类的包config

Spring——注解,SPEL.

 

 

 
上一篇:Hadoop伪分布式搭建(一)


下一篇:别人写的一个Bootstrap系列教程