我已经开始发现Mockito图书馆了,有一个问题,我找不到合适的答案.
如果我在UserDAO类中有这样的方法,可以将用户保存在数据库中:
public class UserDAO{
...
public void create(User user) {
Connection connection = null;
PreparedStatement pstmt = null;
ResultSet generatedKeys = null;
try {
connection = getConnection();
pstmt = connection.prepareStatement(INSERT_USER,
PreparedStatement.RETURN_GENERATED_KEYS);
int counter = 1;
pstmt.setString(counter++, user.getFirstName());
pstmt.setString(counter++, user.getLastName());
pstmt.setString(counter++, user.getEmail());
pstmt.setString(counter++, user.getPassword());
pstmt.setString(counter++, user.getRole());
pstmt.setString(counter, user.getLang());
pstmt.execute();
connection.commit();
generatedKeys = pstmt.getGeneratedKeys();
if (generatedKeys.next()) {
user.setId(generatedKeys.getInt(Fields.GENERATED_KEY));
}
} catch (SQLException e) {
rollback(connection);
LOG.error("Can not create a user", e);
} finally {
close(connection);
close(pstmt);
close(generatedKeys);
}
}
....
} …Run Code Online (Sandbox Code Playgroud) 我正在尝试在用户注册后发送确认电子邮件.我正在使用JavaMail库和Java 8 Base64 util类.
我正在以下列方式编码用户电子邮件:
byte[] encodedEmail = Base64.getUrlEncoder().encode(user.getEmail().getBytes(StandardCharsets.UTF_8));
Multipart multipart = new MimeMultipart();
InternetHeaders headers = new InternetHeaders();
headers.addHeader("Content-type", "text/html; charset=UTF-8");
String confirmLink = "Complete your registration by clicking on following"+ "\n<a href='" + confirmationURL + encodedEmail + "'>link</a>";
MimeBodyPart link = new MimeBodyPart(headers,
confirmLink.getBytes("UTF-8"));
multipart.addBodyPart(link);
Run Code Online (Sandbox Code Playgroud)
在哪里confirmationURL:
private final static String confirmationURL = "http://localhost:8080/project/controller?command=confirmRegistration&ID=";
Run Code Online (Sandbox Code Playgroud)
然后以这种方式在ConfirmRegistrationCommand中对此进行解码:
String encryptedEmail = request.getParameter("ID");
String decodedEmail = new String(Base64.getUrlDecoder().decode(encryptedEmail), StandardCharsets.UTF_8);
RepositoryFactory repositoryFactory = RepositoryFactory
.getFactoryByName(FactoryType.MYSQL_REPOSITORY_FACTORY);
UserRepository userRepository = repositoryFactory.getUserRepository();
User user = …Run Code Online (Sandbox Code Playgroud) 当我使用iframe将一些url嵌入到页面中时,我在chrome控制台中遇到以下错误.为什么会这样?
GET chrome-extension://boadgeojelhgndaghljhdicfkmllpafd/cast_sender.js net::ERR_FAILEDfj @ www-embed-player-new.js:151ej @ www-embed-player-new.js:151dj @ www-embed-player-new.js:151ij @ www-embed-player-new.js:152gl @ www-embed-player-new.js:205so @ www-embed-player-new.js:301Dq @ www-embed-player-new.js:340(anonymous function) @ FQpUOimNvXA?showinfo=0:10
www-embed-player-new.js:22
GET https://static.doubleclick.net/instream/ad_status.js net::ERR_BLOCKED_BY_CLIENTlc @ www-embed-player-new.js:22ic @ www-embed-player-new.js:21fc @ www-embed-player-new.js:21xd @ www-embed-player-new.js:35Dq @ www-embed-player-new.js:341(anonymous function) @ FQpUOimNvXA?showinfo=0:10
www-embed-player-new.js:151
GET chrome-extension://dliochdbjfkdbacpmhlcpmleaejidimm/cast_sender.js net::ERR_FAILEDfj @ www-embed-player-new.js:151ej @ www-embed-player-new.js:151(anonymous function) @ www-embed-player-new.js:151c.onerror @ www-embed-player-new.js:151
www-embed-player-new.js:151
GET chrome-extension://hfaagokkkhdbgiakmmlclaapfelnkoah/cast_sender.js net::ERR_FAILEDfj @ www-embed-player-new.js:151ej @ www-embed-player-new.js:151(anonymous function) @ www-embed-player-new.js:151c.onerror @ www-embed-player-new.js:151
www-embed-player-new.js:151
GET chrome-extension://fmfcbgogabcbclcofgocippekhfcmgfj/cast_sender.js net::ERR_FAILEDfj @ www-embed-player-new.js:151ej @ www-embed-player-new.js:151(anonymous function) @ www-embed-player-new.js:151c.onerror @ www-embed-player-new.js:151
www-embed-player-new.js:151
GET chrome-extension://enhhojjnijigcajfphajepfemndkmdlo/cast_sender.js …Run Code Online (Sandbox Code Playgroud) 所以我在标题中列出了问题.
我想用git push -u origin master.
但如果输入这个命令,我会得到:
error: src refspec master does not match any.
error: failed to push some refs to 'https://github.com/myprofile/my_project.git'
Run Code Online (Sandbox Code Playgroud)
我搜索了这个问题(git:错误:src refspec master不匹配,src refspec master在git中提交提交时不匹配) - 但解决方案对我的情况没有帮助.
好像我只是忘了做一些初始提交到原始的远程分支,而是创建了另一个分支然后被使用.
这是从git ls-remote以下输出:
$ git ls-remote
From https://github.com/myprofile/my_project.git
152e795f054f6f756842bf61ee968ba3e5ee873d HEAD
7d505dbf09585ecfbb239c2148337043b899cc13 refs/heads/add-mysql-repo
152e795f054f6f756842bf61ee968ba3e5ee873d refs/heads/break-into-modules
e7905a3dacc9ea3e6c4c1f2dd9412f8deb692e30 refs/heads/master
Run Code Online (Sandbox Code Playgroud)
这是github图的网络窗口:
所以总结起来-我应该怎么做才能正常使用git push -u origin master,而不是git push -u origin origin:master?
编辑:
$ git branch -avv
add-mysql-repo 7d505db add mysql case to switch …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用maven和tomcat运行简单的struts项目.
当我试图超越下一个目标时:clean install tomcat7:run我得到MojoExecutionException:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean
(default-clean) on project myproject: Failed to clean project: Failed to delete
D:\EclipseWorkspace\myproject\target\tomcat\logs\access_log.2015-02-21
-> [Help 1]
Run Code Online (Sandbox Code Playgroud)
我用谷歌搜索并了解tomcat使用此access_log文件,他记录用户请求.当我想要执行上面列出的目标时,因为我正在使用Eclipse IDE,JVM拒绝删除此文件.
我看到了同样的问题:无法执行目标org.apache.maven.plugins:maven-clean-plugin:2.4.1,Maven - 无法执行目标org.apache.maven.plugins:maven-clean-plugin:2.4.1 :干净.
但是不明白这个问题的建议解决方案.
我将以下字符串传递给服务器:
{
"productId": "",
"sellPrice": "",
"buyPrice": "",
"quantity": "",
"bodies": [
{
"productId": "1",
"sellPrice": "5",
"buyPrice": "2",
"quantity": "5"
},
{
"productId": "2",
"sellPrice": "3",
"buyPrice": "1",
"quantity": "1"
}
]
}
Run Code Online (Sandbox Code Playgroud)
这是http://jsonlint.com/的有效json
我想获取body数组字段.
我就是这样做的:
Gson gson = new Gson();
JsonObject object = gson.toJsonTree(value).getAsJsonObject();
JsonArray jsonBodies = object.get("bodies").getAsJsonArray();
Run Code Online (Sandbox Code Playgroud)
但在第二行我得到的例外情况如下:
HTTP Status 500 - Not a JSON Object: "{\"productId\":\"\",\"sellPrice\":\"\",\"buyPrice\":\"\",\"quantity\":\"\",\"bodies\":[{\"productId\":\"1\",\"sellPrice\":\"5\",\"buyPrice\":\"2\",\"quantity\":\"5\"},{\"productId\":\"2\",\"sellPrice\":\"3\",\"buyPrice\":\"1\",\"quantity\":\"1\"}]}"
Run Code Online (Sandbox Code Playgroud)
那怎么做呢?
我有一个对象:
public class CurrencyItem {
private CurrencyName name;
private BigDecimal buy;
private BigDecimal sale;
private Date date;
//...
}
Run Code Online (Sandbox Code Playgroud)
其中CurrencyName一个是:EUR,USD,RUR等.
还有两个清单
List<CurrencyItem> currenciesByCommercialBank = ...
List<CurrencyItem> currenciesByCentralBank = ...
Run Code Online (Sandbox Code Playgroud)
如何将此列表合并到Map<CurrencyItem, CurrencyItem>键所在的位置,currenciesByCommercialBank并将值currenciesByCentralBank与条件合并为
currenciesByCommercialBank.CurrencyName == currenciesByCentralBank.CurrencyName
Run Code Online (Sandbox Code Playgroud) 我已经搜索了一些问题,例如docker ENV vs RUN export,它解释了这些命令之间的差异,但是并没有帮助解决我的问题。
例如,我有一个名为的脚本myscript:
#!/bin/bash
export PLATFORM_HOME="$(pwd)"
Run Code Online (Sandbox Code Playgroud)
并在Dockerfile中包含以下几行:
...
COPY myscript.sh /
RUN ./myscript.sh
Run Code Online (Sandbox Code Playgroud)
我也尝试在调用脚本之前使用ENTRYPOINT而不是RUN或声明变量,所有这些都没有成功。
我要实现的目标是PLATFORM_HOME可以从其他以该基准为基础的Dockerfile引用。怎么做 ?
我在使用spring cache abstraction设置jcache时遇到问题.
@Configuration
@EnableCaching
public class CacheConfig {
@Bean(name = "caffeineCachingProvider")
public CachingProvider caffeineCachingProvider() {
return new CaffeineCachingProvider();
}
@Bean(name = "caffeineCacheManager")
public JCacheCacheManager getSpringCacheManager() {
CacheManager cacheManager = caffeineCachingProvider().getCacheManager();
CaffeineConfiguration<String, List<Product>> caffeineConfiguration = new CaffeineConfiguration<>();
caffeineConfiguration.setExpiryPolicyFactory(FactoryBuilder.factoryOf(new AccessedExpiryPolicy(new Duration(TimeUnit.MINUTES, 60))));
Cache<String, List<Product>> productCache = cacheManager.createCache("productCache", caffeineConfiguration);
JCacheCacheManager jCacheCacheManager = new JCacheCacheManager(cacheManager);
return jCacheCacheManager;
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用Caffein作为Jcache.我只是无法理解我做错了什么.你能解释一下如何正确地做到这一点吗?
我得到的是NPE在线cacheManager.createCache(...)
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'caffeineCacheManager' defined in com.myapp.spring.config.CacheConfig: Bean instantiation via factory method …Run Code Online (Sandbox Code Playgroud) java ×7
base64 ×1
browser ×1
caffeine ×1
collections ×1
dao ×1
docker ×1
dockerfile ×1
eclipse ×1
git ×1
github ×1
gson ×1
iframe ×1
jakarta-mail ×1
java-8 ×1
java-stream ×1
jcache ×1
json ×1
junit ×1
jvm ×1
kotlin ×1
maven ×1
mockito ×1
registration ×1
scala ×1
shell ×1
spring ×1
spring-cache ×1
tomcat ×1
unit-testing ×1