所有的问题笔记

什么情况下要用单例模式?

bean默认是单例模式

 

mybatis是单例模式吗?

mybatis和单例模式没有什么关系,只是在spring整合mybatis后,可用spring来用单例模式管理SqlSessionFactory。

可做工具类:

import java.io.IOException;
import java.io.Reader;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class sqlSessionFactoryUtil {
    //首先创建静态成员变量sqlSessionFactory,静态变量被所有的对象所共享。
    public static SqlSessionFactory sqlSessionFactory = null;
    public static SqlSessionFactory getSqlSessionFactory() {
        //如果sqlSessionFactory没有被创建就读取全局配置文件,假如已经被创建过了,就使用已经存在的sqlsessionfactory。
        //这样就有了单例模式的效果
        if(sqlSessionFactory==null){
            String resource = "mybatis/SqlMapConfig.xml";
            try {
                Reader reader = Resources.getResourceAsReader(resource);
                sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        return sqlSessionFactory;
    }
}

springCloud如何单例模式的用mybatis?

 

controller是单例模式,好处和坏处是什么?

 

Spring Security是什么?

 

数据库view的优缺点?

优点:可以简化查询sql。视图实际上相当于虚拟视窗,并不储存数据,因此无法修改数据,有一定安全性。可以将不同库的数据联合展示。

缺点:实际上在查询时,会转为对基本表的查询,所以性能并不好。数据小的时候跟表查询性能差不多,但是在数据大的时候,视图会慢些,因为会先加载视图。

druid有什么特殊的作用?

不仅有数据库连接池,还主要可以监控数据库查询,时间内容等。

jdbc的uri中,useSSL=true是干嘛的?

MySQL默认的数据通道是不加密的,在一些安全性要求特别高的场景下,我们需要配置MySQL端口为SSL,使得数据通道加密处理,避免敏感信息泄漏和被篡改。

当然,启用MySQL SSL之后,由于每个数据包都需要加密和解密,这个对MySQL的性能是有不小影响的,读者们在使用的时候,要根据实际情况斟酌。

Windows下如何配置MySQL SSL安全传输:

1、首先明确你的MySQL版本是否支持或是否开启SSL:show global variables like 'have_%ssl';

2、确认OpenSSL安装并加入PATH系统路径环境变量。

3、正确创建号证书。

4、通过my.cnf或者命令行在mysql启动的时候加载证书配置,例如:mysqld --ssl-ca=ca-cert.pem --ssl-cert=server-cert.pem --ssl-key=server-key.pem。

5、客户端连接时同样要记得加载证书。

连接时出现java.sql.SQLException: Unable to load authentication plugin 'caching_sha2_password'.怎么办?

mysql驱动太老,没有适配caching_sha2_password 的密码规则,升级到最新版本就可以了。

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.43</version>
        </dependency>

改为<version>8.0.11</version>


出现java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time 

时区的错误,在uri后加&serverTimezone=GMT%2B8

docker是什么?

 

@interface和interface的区别是什么?

二者没有关系,interface是借口,@interface是定义一个注解

 

@Resources和@Autowired的区别?

@Autowired//默认按type注入
@Qualifier("cusInfoService")//一般作为@Autowired()的修饰用
@Resource(name="cusInfoService")//默认按name注入,可以通过name和type属性进行选择性注入

https://blog.csdn.net/weixin_40423597/article/details/80643990

@Repository @Component @Service @Controller之间的区别和联系?

@Component@Service@Controller@Repository是spring注解,注解后可以被spring框架所扫描并注入到spring容器来进行管理
@Component是通用注解,其他三个注解是这个注解的拓展,并且具有了特定的功能
@Repository注解在持久层中,具有将数据库操作抛出的原生异常翻译转化为spring的持久层异常的功能。
@Controller是spring-mvc的注解,具有将请求进行转发,重定向的功能。
@Service是业务逻辑层注解,这个注解只是标注该类处于业务逻辑层。

https://blog.csdn.net/qq_37960603/article/details/84072741

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值