Spring 利用IOC 对实现接口的解耦并且注解和xml对数据库的操作

半注解半xml

全注解

测试方法

 

半注解半xml (写的最少的方法)

  • 配置环境,pom.xml 一些jar,然后就是配置dao、service 接口以及实现类,这里先不用controller。然后就是把三层中的两层用注解的形式进行连接:

在这里插入图片描述
在这里插入图片描述
半注解的形式时配置bean是用的是注解的约束条件
在配置bean是首先要扫描把类和包进行扫描<context:component-scan base-package=“com.itheima”/>就是把@service@component@reposition@controller的类都加载到容器中。也就是为了自动找接口用的,还有找属性的值使用的(就是这个东西自动找的@Autowired)
然后就是在bean中配置queryrunner的信息 首先



然后测试方法现在有两种方法:

第一个就是不用注解的形式,还有一个就是用注解的形式。

  • 不用注解的形式:
    //获取容器对象
    Classpathxmlapplicationcontext ca= new Classpathxmlapplicationcontext(“bean.xml”);
    得到service实现类的对象,和面的.class是强制转换。
    Ca.getbean(“accountservice”,IAccountService.class);
    然后进行输出即可。
  • 第二种就是注解的形式,

首先在pom中导入spring-test 然后就是
@runwith(“RunWith(“SpringJUnit4ClassRunner.class”)

@autowirired
//接口不用再写了,直接自动找就行了
AccountService accountservice;
在这里插入图片描述

全注解的形式(感觉写的很多)

全注解就是把半注解的bean.Xml改成一个类的形式在类里配置文件:
//在resources下写一个jdbc.properties文件
@PropertySource(“jdbc.properties”)
//就是把注解的类纳入容器中来使用
@ComponentScan(basePackages = “com.itheima”)
public class SpringConfiguratiom {
//配置四大参数
//然后就是利用连接池连接数据库
@Value(" j d b c . d r i v e r " ) p r i v a t e S t r i n g d r i v e r ; @ V a l u e ( " {jdbc.driver}") private String driver; @Value(" jdbc.driver")privateStringdriver;@Value("{jdbc.url}")
private String url;
@Value(" j d b c . u s e r n a m e " ) p r i v a t e S t r i n g u s e r n a m e ; @ V a l u e ( " {jdbc.username}") private String username; @Value(" jdbc.username")privateStringusername;@Value("{jdbc.password}")
private String password;
@Bean(“runner”)
@Scope(“prototype”)
public QueryRunner createrunner(DataSource dataSource)
{
return new QueryRunner(dataSource);
}
@Bean(“dataSource”)
public DataSource createDataSource()
{
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);
}
}
源码在评论区,github上发布!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值