Spring1核心配置文件

这个是applicationcontext.xml配置的抬头
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        https://www.springframework.org/schema/beans/spring-beans.xsd">


测试函数中获取核心容器对象(xml)(工厂对象)的代码
//这个对象可以帮我们从核心容器获取组件
//这是基于xml获取配置文件
ClassPathXmlApplicationContext classPathXmlApplicationContext = new ClassPathXmlApplicationContext(com.xxxxx.xxxx.xml);

//通过bean注入
//读取配置文件之后就会创建所有对象
<bean id = "这里面是bean的全局标识" class="这里是这个类的全路径" scope="这是生命周期,如果改成singleton(默认单例),改成pr o....(多例模式)">
//set方法注入
  <poperty name = "这个是class文件里面你要注入的变量名称 要有set方法" ref="这里注入非基本数据类型,可以是bean id" value可以注入基本数据类型>
//构造方法注入
<constructor-arg name= value = 这里的原理和上面基本一样>


//这是基于注解的所需标签
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        https://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        https://www.springframework.org/schema/context/spring-context.xsd">

    <context:component-scan base-package="需要扫描的包路径"/>

</beans>


//注解的类型
@Component  普通注解
@Controller   控制层注解
@Service           Service注解
@Repository  Dao层注解
//上面4个注解完成的功能是一摸一样的,仅仅作为标识作用
//不设置标识的时候,默认的名字是类名首字母小写
//也可以单独设置全局标识,@Component("标识的名称") 

//注入数据的注解
@Autowired(根据类型注入)自动装配是吧
@Resource(根据id注入)
@Value(注入基本数据类型和String)
@Qualifier(不能单独使用)

@Scope("prototype")用注解指定多例模式
@PostConstruct()用于指定初始化调用的方法
@PreDestory()用于指定销毁时调用的属性


//基于注解的xml配置(完全舍弃xml配置)//基于方法创建实例
@Configuration //核心配置类注解
@Bean// 配置类里面方法的注解,和xml中的bean标签一样,这个注解会将方法的返回值装载进核心容器(return new User)默认的id(全局标识)是方法名称,用name来指定你想要的全局id
//获取配置文件
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(xxxxx.class);
//方法参数列表中存在引用数据类型时,回去容器中寻找这个实例,没有就报错
//解决方法是创建一个对应的方法,返回这个数据类型
@Import()//可以用这个注解导入其他核心配置类,形成子类父类关系

@PropertySource("classpath:jdbc")//注解在类上面,标识读取类路径下的jdbc配置文件
//只有被Spring托管的文件才能使用value注解
@Value("${jdbc.driver}") //注解在成员变量上,表示读取类路径下的配置文件里面对应的key值的value值(有点混乱,总之就是用注解来注入参数,参数是读取配置文件里面的)

//使用场景
//配置数据源信息的配置类
public class jdbcConfig{
//在父类读取的配置文件,子类也可以获取
@Value("${jdbc.driver}")/nString driver;
@Value("${jdbc.url}")/nString url;
@Value("${jdbc.username}")/nString username;
@Value("${jdbc.password}")/nString password;
@Bean
public JdbcTemplate getJdbcTemplate(@Qualifier("dataSource")DataSource dataSource){
JdbcTemplate jdbcTemplate = new JdbcTemplate(DataSource);
return JdbcTemplate;
}
@Bean("dataSource")
public DataSource getDataSource (){
DriverManagerDataSource driverManagerDataSource = new DriverManagerDataSource();
driverManagerDataSource.setDriverClassName(driver);
driverManagerDataSource.set//将4个属性全部设置
return driverManagerDataSource
}}
//核心配置类
@Configuration
@ComponentScan("com.ygkj")//扫描
@Import(jdbcConfig.class)//导入配置类,形成父类子类关系
@PropertySource("classpath:jdbc")
public class SpringBeansConfig{}
//创建配置文件,在src(类路径)下面创建文件,jcbc
jdbc.driver=com.ygkj.jdbc.driver
jdbc.url=jdbc:mysql://localhost:3306/web_test
jdbc.username=root
jdbc.password=password

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值