Spring4.x的Java配置方式和spring以前的xml配置方式
2018-01-12 15:08
169 查看
Spring的Java配置方式:
@Configuration //通过该注解来表明该类是一个Spring的配置,相当于一个xml文件 @ComponentScan(basePackages = "cn.itcast.springboot.javaconfig") //配置扫描包 @PropertySource(value={"classpath:jdbc.properties"},ignoreResourceNotFound=true) //配置多个配置文件 value={"classpath:jdbc.properties","xx","xxx"} public class SpringConfig { @Bean // 通过该注解来表明是一个Bean对象,相当于xml中的<bean> public UserDAO getUserDAO(){ return new UserDAO(); // 直接new一个对象 } @Value("${jdbc.url}") private String jdbcUrl; @Value("${jdbc.driverClassName}") private String jdbcDriverClassName; @Value("${jdbc.username}") private String jdbcUsername; @Value("${jdbc.password}") private String jdbcPassword; @Bean(destroyMethod = "close") public DataSource dataSource() { BoneCPDataSource boneCPDataSource = new BoneCPDataSource(); // 数据库驱动 boneCPDataSource.setDriverClass(jdbcDriverClassName); // 相应驱动的jdbcUrl boneCPDataSource.setJdbcUrl(jdbcUrl); // 数据库的用户名 boneCPDataSource.setUsername(jdbcUsername); // 数据库的密码 boneCPDataSource.setPassword(jdbcUsername); // 检查数据库连接池中空闲连接的间隔时间,单位是分,默认值:240,如果要取消则设置为0 boneCPDataSource.setIdleConnectionTestPeriodInMinutes(60); // 连接池中未使用的链接最大存活时间,单位是分,默认值:60,如果要永远存活设置为0 boneCPDataSource.setIdleMaxAgeInMinutes(30); // 每个分区最大的连接数 boneCPDataSource.setMaxConnectionsPerPartition(100); // 每个分区最小的连接数 boneCPDataSource.setMinConnectionsPerPartition(5); return boneCPDataSource; } }
使用了Java的配置方式,就无需在userService、userDAO实现类中加@Service、@Respository
这里要把bean对象注入到相对应的类中。
在userService中@Autowired注入userDAO
在userDAO中@Autowired注入boneCPDataSource
启用spring的测试类:
public static void main(String[] args) {
// 通过Java配置来实例化Spring容器
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class);
// 在Spring容器中获取Bean对象
UserService userService = context.getBean(UserService.class);
//执行userService中的方法
// 销毁该容器
context.destroy();
context.close();
}
4000
-------------------------------------
Spring xml配置方式:
扫描包并对Bean进行批量注册:<context:component-scan base-package="com.test" />该配置的功能是扫描配置的base-package包下的所有使用了@Component注解的类(包括子类@Controller,@Service,@Respository),并且将它们自动注册到容器中。
<context:annotation-config/>该配置声明了@Required、@Autowired、 @PostConstruct、
@PersistenceContext、@Resource、@PreDestroy等注解,但component-scan已经包含了annotation-config,无需再配置。
--------------------------------
<!-- 加载外部配置文件 -->
<context:property-placeholder location="jdbc.properties"/>
<!-- 忽略没有找到的配置文件 -->
<property name="ignoreResourceNotFound" value="true"/>-------------------------------
Spring xml配置数据库连接池:
<!-- 定义数据源 使用了jolbox连接池-->
<bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource"
destroy-method="close">
<!-- 数据库驱动 -->
<property name="driverClass" value="${jdbc.driverClassName}" />
<!-- 相应驱动的jdbcUrl -->
<property name="jdbcUrl" value="${jdbc.url}" />
<!-- 数据库的用户名 -->
<property name="username" value="${jdbc.username}" />
<!-- 数据库的密码 -->
<property name="password" value="${jdbc.password}" />
<!-- 检查数据库连接池中空闲连接的间隔时间,单位是分,默认值:240,如果要取消则设置为0 -->
<property name="idleConnectionTestPeriod" value="60" />
<!-- 连接池中未使用的链接最大存活时间,单位是分,默认值:60,如果要永远存活设置为0 -->
<property name="idleMaxAge" value="30" />
<!-- 每个分区最大的连接数 -->
<!--
判断依据:请求并发数
-->
<property name="maxConnectionsPerPartition" value="100" />
<!-- 每个分区最小的连接数 -->
<property name="minConnectionsPerPartition" value="5" />
</bean>
相关文章推荐
- Java后台框架篇--Spring应用上下文配置:Xml方式
- JAVA_WEB项目之使用Spring的xml配置方式在项目中管理Lucene检索框架
- Spring的Java配置方式(无xml)
- Spring学习(二十二) Bean配置的三种方式(XML、注解、Java类)介绍与对比
- java注解方式(不用xml)配置web框架spring+SpringMVC
- Spring学习----------Bean配置的三种方式(XML、注解、Java类)介绍与对比
- Spring Aop实现——Annotation方式(注解式)and Schema-based式(xml配置)
- Spring中加载xml配置文件的方式
- Java Web Project 的 web.xml 中 Struts2、Spring 配置与过滤器添加需知
- spring 中加载xml配置文件的方式
- spring采用基于xml配置方式进行事务的处理
- servlet调用spring容器中的bean,的两种方式一种注解一种xml配置
- Spring中加载XML配置文件的方式
- spring中加载xml配置文件的方式
- spring采用基于xml配置方式进行事务的处理
- 配置java连接池 tomcat方式、Spring方式配置的比较(修正版)
- spring中加载xml配置文件的方式
- 配置JAVA连接池 TOMCAT方式、SPRING方式配置
- spring aop的使用(注解方式以及基于xml配置方式)
- Spring事务配置的五种方式 (转自 javablog)