一.Bean的几种装配方式的基本用法
Bean中主要包含三种装配方式,分别为基于XML的装配,基于Annotation的装配和自动装配,这三种装配方式的用法如下:
(1)基于XML的装配:Spring提供了2种基于XML的装配方式:设值注入(Setter Injection)和构造注入(Constructor Injection)。设置注入中的Bean类必须提供一个默认的无参构造方法,同时必须为需要注入的属性提供对应的setter方法。使用设值注入时,在Spring配置文件中,需要使用<bean>元素的子元素<property>来为每个属性注入值。使用构造注入时,在配置文件里,需要使用<bean>元素的子元素<constructor-arg>来定义构造方法的参数,可以使用其value属性(或子元素)来设置该参数的值。
(2)基于Annotation的装配:使用基于Annotation的装配时,首先需要使用@Repository、@Service与@Constroller分别对实现类进行标注,然后用@Autowired或@Resource注解对注入的Bean的属性进行标注,最后在Spring的配置文件中,通过<context:annotation-config />来开启注解处理器,或使用<context:component-scan base-package="Bean所在的包路径"/>的配置方式即可实现Annotation的装配。
(3)自动装配:在<bean>元素中使用autowire属性,并将其属性值设置为byName或者byType即可实现自动装配。
二.Spring JDBC是如何进行配置的。
在Spring的配置文件中配置JDBC时,需要定义了三个Bean,分别是dataSource、jdbcTemplate和需要注入类的Bean。在定义jdbcTemplate时,需要将dataSource注入到jdbcTemplate中,而其他需要使用jdbcTemplate的Bean,也需要将jdbcTemplate注入到该Bean中,这样配置完成后,Spring JDBC就可以使用了。
三.使用Annotation方式进行声明式事务管理。
1)在Spring容器中注册事务注解驱动,其代码如下:
<tx:annotation-driven transaction-manager="transactionManager"/>
2)在需要使用事务的Spring Bean类或者Bean类的方法上添加注解@Transactional。如果将注解添加在Bean类上,则表示事务的设置对整个Bean类的所有方法都起作用;如果将注解添加在Bean类中的某个方法上,则表示事务的设置只对该方法有效。
四、MyBatis核心对象SqlSessionFactory的获取方式。
SqlSessionFactory对象的实例可以通过SqlSessionFactoryBuilder对象来构建,而SqlSessionFactoryBuilder则可以通过XML配置文件或一个预先定义好的Configuration实例构建出SqlSessionFactory的实例,通过XML配置文件构建出的SqlSessionFactory实例,其实现代码如下:
// 读取配置文件
InputStream inputStream = Resources.getResourceAsStream("配置文件位置");
// 根据配置文件构建SqlSessionFactory
SqlSessionFactory sqlSessionFactory =
new SqlSessionFactoryBuilder().build(inputStream);
五、@Controller注解的使用步骤。
(1)在相应的类上标注@Controller注解。
(2)在Spring MVC的配置文件中添加相应的扫描配置信息。首先需要在配置文件中引入context名称空间的配置,然后使用<context:component-scan>元素指定需要扫描的类包。
六、解决中文文件名称下载时的乱码问题。
(1)在下载页面中对中文文件名编码。可以使用Servlet API中提供的URLEncoder类中的encoder(String s, String enc)方法将中文转为UTF-8编码。
(2)在后台控制器类中对文件名根据不同的浏览器进行相应的转码。
七、引入SQL文件主要步骤如下:
(1)创建数据库;
(2)选择所创建的数据库;
(3)使用source命令导入数据库文件