Spring纯注解开发

纯注解的Spring ioc

使用步骤:

	1.创建maven工厂,导入相关jar包。
		spring-context
		mysql-connector-java
		spring-test
		commons-beanutils
		c3p0
		junit
		commons-dbutils
	2.创建实体类、持久层和业务层代码。(业务层和持久层都需要注明类的注解。业务层使用持久层接口时,使用自动注入。持久层使用QueryRunner同理。)
	3.创建数据库信息的properties文件
	4.创建spring的主配置类SpringConfiguration.class,在该类中使用配置类注解、注解扫描包、properties文件的路径注解。
		@Configuration
		@ComponentScan(basePackages = "com.itheima")
		@PropertySource("classpath:jdbcConfig.properties")
	5.创建数据库连接的配置类,jdbcConfig.class.创建QueryRunner对象和DataSource对象,并将方法的返回值注入容器中。
		@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(name = "runner")
	    @Scope("prototype")
	    public QueryRunner creatQueryRunner(DataSource dataSource){
	        return new QueryRunner(dataSource);
	    }
	    @Bean(name = "dataSource")
	    public DataSource creatDataSource(){
	        try {
	            ComboPooledDataSource ds = new ComboPooledDataSource();
	            ds.setDriverClass(driver);
	            ds.setJdbcUrl(url);
	            ds.setUser(username);
	            ds.setPassword(password);
	            return ds;
	        }catch (Exception e){
	            throw new RuntimeException(e);
	        }
	    }
		
	6.创建测试类,测试方法。(注:利用spring整合junit)
		1.使用junit提供的注解把main方法替换掉。
			@RunWith(SpringJUnit4ClassRunner.class)
		2.告知spring运行器,spring ioc是基于xml还是注解,并说明位置。
			@ContextConfiguration(classes = SpringConfiguration.class)
		3.自动注入接口类,利用接口类测试方法。

详细介绍

SpringConfiguration.class
该类是一个配置类,它的作用和bean。xml是一样的

spring中的新注解
Configuration
    作用:指定当前类是一个配置类
	细节:当配置类作为AnnotationConfigApplicationContext对象创建的参数时,该注解可以不写。
ComponentScan
    作用:用于通过注解指定spring在创建容器时要扫描的包
    属性:
        value:它和basePackages的作用是一样的。都是用于指定创建容器时要扫描的包。
                我们使用此注解就等同于在xml中配置了:
                <context:component-scan base-package="com.itheima"></context:component-scan>

Bean
    作用:用于把当前方法的返回值作为bean对象存入spring的ioc容器中
    属性:
        name:用于指定bean的id。当不写时,默认值是当前方法的名称
    细节:
        当我们使用注解配置方法时,如果方法有参数,spring框架会去查找有没有可用的bean对象。
        查找的方式和Autowired注解的作用是一样的
Import
    作用:用于导入其他的配置类
    属性:
        value:用于指定其他配置类的字节码。
                当我们使用Import的注解之后,有Import注解的类就是父配置类,而导入的都是子配置类。
PropertySource
    作用:用于指定properties文件的位置
    属性:
        value:指定文件的名称和路径。
                关键字:classpath,表示类路径下
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值