Spring纯注解开发
Spring纯注解开发
脱离了xml配置的开发,直接把数据保存在Spring内存里面,
首先学习的是 @Configuration 注解
这个注解就是说明这个类是直接放在Spring内存中的不经过xml配置,在类上面写上这个之后,这个类就直接存在于Spring内存之中
@Configuration //加上这个注解之后就表示这是一个Spring配置类
public class SpringConfiguration(){}
虽然这个类它不经过xml配置,但是其他类需要,如果我们要让这个类获得其他的类在xml里面的配置应该怎么办?------------我们就需要学习注解 @ComponentScan(“需要扫描的包”)---------目的就是替代xml里面的组件扫描操作,这样我们就能得到应该包里面所有的类了而且不经过xml配置
@Configuration //加上这个注解之后就表示这是一个Spring配置类
@ComponentScan("com.zhiyou100") //加上这个替代组件扫描 内部写的要扫描的包
public class SpringConfiguration{}
现在问题是,那么多的包,那么多的类,我们要准确的找出我们想要的哪个类的对象应该怎么办???---------现在我们就要学习 @Bean 注解 首先@Bean只能写在方法上面,并且此方法返回一个类对象,我们只需要调用方法就能获得我们想要的对象了
public class WireThirdLibClass {
@Bean
public ThirdLibClass getThirdLibClass() {
return new ThirdLibClass();
}
}
上面我们以及能完全的操作,但是如果我们像完全不会借助xml,我们想要加载数据源怎么办???
下面我们就说到 @PropertySource 此注解 目的就是记载数据源,把数据源读取到Spring中
先写一个db.properties文件
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql:///mybatis01
jdbc.username=root
jdbc.password=root
再写注解代码
@PropertySource(" db.properties")//读取配置文件
public class DBUtil{
//根据 key-value键值对 , 来给属性赋值
@Value("${jdbc.driverClass}")
private String driver;
@Value("${jdbc.url}")
private String url;
@Value("${jdbc.username}")
private String username;
@Value("${jdbc.password}")
private String password;
}
这样就把我们配置文件里面的数据,配置给了我们类里面的属性,我们就能够调用了
上面说到了用@PropertySource读取配置文件 如果我们想要读取其他的xml文件里面的信息我们应该怎么办 我们就需要用到[email protected]----此注解来引入文件
比如我们想要引入一个类的字节码文件
//这是主配置类
@Configuration //加上这个注解之后就表示这是一个Spring配置类
@ComponentScan("com.zhiyou100") //加上这个替代组件扫描 内部写的要扫描的包
@Import(DBUtil.class)//在主配置类里面引入DBUyil配置类
public class SpringConfiguration{}
我们接下来就是测试,如果我们想要把我们类里面的数据给测似乎类测试这么操作,我们没有xml配置文件所以不能使用 new ClassPathXmlApplicationContext(“applicationContext.xml”);
我们只能使用 AnnotationConfigApplicationContext
@Test
public void test01(){
new AnnotationConfigApplicationContext("对应配置类名.class")
}
上一篇: Spring纯注解开发
下一篇: Autograd:自动微分