spring注解开发(7)

一. 原始注解

在这里插入图片描述
首先在spring配置文件中开启组建扫描,指定注解起作用的包:

<context:component-scan base-package="com.guazicola"></context:component-scan>

1. @component

加在类的上面,相当于用bean标签创建类对象。可以添加括号指定id名称。

@Component("userDao")
public class UserDaoImpl implements UserDao {
    @Override
    public void save() {
        System.out.println("save....");
    }
}

2. 怎么注入参数依赖

两个标签:

  • @Autowired 如果只配置这个标签,就会根据类型从spring容器中自动注入
  • @Qualifier(依赖的id) 指定注入的依赖名称,要和@autowired一起用
@Component("userService")
public class UserServiceImpl implements UserService {

    @Autowired
    @Qualifier("userDao")
    private UserDao userDao;

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

3. 另外三个用于实例化的注解

在这里插入图片描述
他们的功能和@component是一样,区别在于,他们会用于不同的层,好让人一看到注解就是到是哪一层的。

二. 新注解

在这里插入图片描述
主程序:

public class UserControllerImpl implements UserController {
    public static void main(String[] args){
        ApplicationContext app = new AnnotationConfigApplicationContext(SpringConfiguration.class);
        UserService userService = (UserService) app.getBean("userService");
        userService.save();
    }
}

配置类SpringConfiguration:

@ComponentScan("com.guazicola")
@Import({DataSourceConfiguration.class})
@Configuration
public class SpringConfiguration {

}

配置类DataSourceConfiguration:

@Configuration
@PropertySource("jdbc.properties")  //配置property的来源
public class DataSourceConfiguration {
    @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") //@bean会将返回值传到spring容器中
    public DataSource getDataSource() throws Exception{
        DruidDataSource druidDataSource = new DruidDataSource();
        druidDataSource.setDriverClassName(driver);
        druidDataSource.setUrl(url);
        druidDataSource.setUsername(username);
        druidDataSource.setPassword(password);

        return druidDataSource;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值